passenger 6.0.1 → 6.0.6

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 (453) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +145 -18
  3. data/CONTRIBUTORS +6 -0
  4. data/bin/passenger-install-nginx-module +1 -1
  5. data/bin/passenger-status +15 -0
  6. data/build/misc.rb +3 -1
  7. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
  8. data/dev/copy_boost_headers +1 -0
  9. data/package.json +1 -1
  10. data/passenger.gemspec +9 -1
  11. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  12. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  14. data/resources/templates/standalone/http.erb +2 -0
  15. data/resources/templates/standalone/server.erb +1 -0
  16. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
  18. data/src/agent/Core/ApplicationPool/Options.h +10 -0
  19. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  21. data/src/agent/Core/Config.h +14 -1
  22. data/src/agent/Core/Controller.h +1 -0
  23. data/src/agent/Core/Controller/Config.h +5 -1
  24. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  25. data/src/agent/Core/Controller/InitRequest.cpp +3 -0
  26. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  27. data/src/agent/Core/CoreMain.cpp +2 -1
  28. data/src/agent/Core/OptionParser.h +3 -0
  29. data/src/agent/Core/SpawningKit/Context.h +1 -0
  30. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  31. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  32. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  33. data/src/agent/Watchdog/Config.h +15 -1
  34. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  35. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
  38. data/src/apache2_module/Hooks.cpp +6 -0
  39. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  40. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
  41. data/src/cxx_supportlib/Constants.h +2 -1
  42. data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
  43. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
  44. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  45. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
  46. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  47. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  48. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  75. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  76. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  77. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  78. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  79. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  80. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  81. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  82. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  84. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  86. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  87. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  88. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  89. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  90. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  93. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  97. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  98. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  100. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  101. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  102. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  104. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  117. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  119. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  120. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  122. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  123. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  130. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  131. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  132. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  136. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  137. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  145. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  147. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  149. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  151. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  152. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  153. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  154. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  155. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  157. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  158. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  162. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  163. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  167. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  170. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  171. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  173. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  174. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  175. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  176. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  178. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  179. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  180. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  187. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  213. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  215. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  219. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  221. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  222. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  223. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  225. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  226. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  227. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  230. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  237. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  240. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  241. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  243. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  244. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  245. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  253. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  256. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  257. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  270. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  273. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  274. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  275. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  276. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  277. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  322. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  323. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  324. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  328. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  329. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  332. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  335. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  336. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  339. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  341. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  347. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  348. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  395. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  396. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  398. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  399. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  400. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  401. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  402. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  403. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  405. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  413. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  417. data/src/helper-scripts/prespawn +1 -0
  418. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  419. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
  420. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  421. data/src/nginx_module/Configuration.c +6 -2
  422. data/src/nginx_module/ContentHandler.c +5 -1
  423. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
  424. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
  425. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
  426. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  427. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
  428. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  429. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  430. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  431. data/src/nginx_module/ngx_http_passenger_module.c +2 -0
  432. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  433. data/src/ruby_native_extension/extconf.rb +7 -0
  434. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  435. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
  436. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
  437. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  438. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
  439. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
  440. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  441. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  442. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  443. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  444. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
  445. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
  446. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  447. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  448. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  449. metadata +42 -8
  450. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  451. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  452. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  453. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -577,10 +577,14 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
577
577
  |NGX_HTTP_UPSTREAM_FT_OFF;
578
578
  }
579
579
 
580
- ngx_conf_merge_path_value(cf,
580
+ if (ngx_conf_merge_path_value(cf,
581
581
  &conf->upstream_config.temp_path,
582
582
  prev->upstream_config.temp_path,
583
- &ngx_http_proxy_temp_path);
583
+ &ngx_http_proxy_temp_path)
584
+ != NGX_OK)
585
+ {
586
+ return NGX_CONF_ERROR;
587
+ }
584
588
 
585
589
  #if (NGX_HTTP_CACHE)
586
590
 
@@ -993,11 +993,15 @@ construct_request_buffer(ngx_http_request_t *r, passenger_loc_conf_t *slcf,
993
993
 
994
994
  /* D = Dechunk response
995
995
  * Prevent Nginx from rechunking the response.
996
+ * B = Buffer request body
996
997
  * C = Strip 100 Continue header
997
998
  * S = SSL
998
999
  */
999
1000
 
1000
- PUSH_STATIC_STR("!~FLAGS: DC");
1001
+ PUSH_STATIC_STR("!~FLAGS: CD");
1002
+ if (slcf->autogenerated.buffer_upload) {
1003
+ PUSH_STATIC_STR("B");
1004
+ }
1001
1005
  #if (NGX_HTTP_SSL)
1002
1006
  if (r->http_connection != NULL /* happens in sub-requests */
1003
1007
  && r->http_connection->ssl) {
@@ -89,9 +89,12 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
89
89
  conf->headers_hash_max_size = NGX_CONF_UNSET_UINT;
90
90
  conf->headers_hash_bucket_size = NGX_CONF_UNSET_UINT;
91
91
  conf->request_queue_overflow_status_code = NGX_CONF_UNSET;
92
+ conf->buffer_upload = NGX_CONF_UNSET;
92
93
  conf->sticky_sessions = NGX_CONF_UNSET;
93
94
  conf->sticky_sessions_cookie_name.data = NULL;
94
95
  conf->sticky_sessions_cookie_name.len = 0;
96
+ conf->sticky_sessions_cookie_attributes.data = NULL;
97
+ conf->sticky_sessions_cookie_attributes.len = 0;
95
98
  conf->vary_turbocache_by_cookie.data = NULL;
96
99
  conf->vary_turbocache_by_cookie.len = 0;
97
100
  conf->app_log_file.data = NULL;
@@ -217,6 +220,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
217
220
  conf->document_root_source_file.len = 0;
218
221
  conf->document_root_source_line = 0;
219
222
  conf->document_root_explicitly_set = 0;
223
+ conf->upstream_config_temp_path_source_file.data = NULL;
224
+ conf->upstream_config_temp_path_source_file.len = 0;
225
+ conf->upstream_config_temp_path_source_line = 0;
226
+ conf->upstream_config_temp_path_explicitly_set = 0;
220
227
  conf->upstream_config_ignore_headers_source_file.data = NULL;
221
228
  conf->upstream_config_ignore_headers_source_file.len = 0;
222
229
  conf->upstream_config_ignore_headers_source_line = 0;
@@ -273,6 +280,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
273
280
  conf->request_queue_overflow_status_code_source_file.len = 0;
274
281
  conf->request_queue_overflow_status_code_source_line = 0;
275
282
  conf->request_queue_overflow_status_code_explicitly_set = 0;
283
+ conf->buffer_upload_source_file.data = NULL;
284
+ conf->buffer_upload_source_file.len = 0;
285
+ conf->buffer_upload_source_line = 0;
286
+ conf->buffer_upload_explicitly_set = 0;
276
287
  conf->sticky_sessions_source_file.data = NULL;
277
288
  conf->sticky_sessions_source_file.len = 0;
278
289
  conf->sticky_sessions_source_line = 0;
@@ -281,6 +292,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
281
292
  conf->sticky_sessions_cookie_name_source_file.len = 0;
282
293
  conf->sticky_sessions_cookie_name_source_line = 0;
283
294
  conf->sticky_sessions_cookie_name_explicitly_set = 0;
295
+ conf->sticky_sessions_cookie_attributes_source_file.data = NULL;
296
+ conf->sticky_sessions_cookie_attributes_source_file.len = 0;
297
+ conf->sticky_sessions_cookie_attributes_source_line = 0;
298
+ conf->sticky_sessions_cookie_attributes_explicitly_set = 0;
284
299
  conf->vary_turbocache_by_cookie_source_file.data = NULL;
285
300
  conf->vary_turbocache_by_cookie_source_file.len = 0;
286
301
  conf->vary_turbocache_by_cookie_source_line = 0;
@@ -238,6 +238,12 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
238
238
  len += sizeof("\r\n") - 1;
239
239
  }
240
240
 
241
+ if (conf->autogenerated.sticky_sessions_cookie_attributes.data != NULL) {
242
+ len += sizeof("!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ") - 1;
243
+ len += conf->autogenerated.sticky_sessions_cookie_attributes.len;
244
+ len += sizeof("\r\n") - 1;
245
+ }
246
+
241
247
  if (conf->autogenerated.vary_turbocache_by_cookie.data != NULL) {
242
248
  len += sizeof("!~PASSENGER_VARY_TURBOCACHE_BY_COOKIE: ") - 1;
243
249
  len += conf->autogenerated.vary_turbocache_by_cookie.len;
@@ -515,6 +521,15 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
515
521
  conf->autogenerated.sticky_sessions_cookie_name.len);
516
522
  pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
517
523
  }
524
+ if (conf->autogenerated.sticky_sessions_cookie_attributes.data != NULL) {
525
+ pos = ngx_copy(pos,
526
+ "!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ",
527
+ sizeof("!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ") - 1);
528
+ pos = ngx_copy(pos,
529
+ conf->autogenerated.sticky_sessions_cookie_attributes.data,
530
+ conf->autogenerated.sticky_sessions_cookie_attributes.len);
531
+ pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
532
+ }
518
533
  if (conf->autogenerated.vary_turbocache_by_cookie.data != NULL) {
519
534
  pos = ngx_copy(pos,
520
535
  "!~PASSENGER_VARY_TURBOCACHE_BY_COOKIE: ",
@@ -582,6 +582,19 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
582
582
  psg_json_value_set_int(hierarchy_member, "value",
583
583
  plcf->autogenerated.request_queue_overflow_status_code);
584
584
  }
585
+ if (plcf->autogenerated.buffer_upload_explicitly_set) {
586
+ find_or_create_manifest_app_and_loc_options_containers(ctx,
587
+ plcf, cscf, clcf, &app_options_container, &loc_options_container);
588
+ option_container = find_or_create_manifest_option_container(ctx,
589
+ loc_options_container,
590
+ "passenger_buffer_upload",
591
+ sizeof("passenger_buffer_upload") - 1);
592
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
593
+ &plcf->autogenerated.buffer_upload_source_file,
594
+ plcf->autogenerated.buffer_upload_source_line);
595
+ psg_json_value_set_bool(hierarchy_member, "value",
596
+ plcf->autogenerated.buffer_upload);
597
+ }
585
598
  if (plcf->autogenerated.sticky_sessions_explicitly_set) {
586
599
  find_or_create_manifest_app_and_loc_options_containers(ctx,
587
600
  plcf, cscf, clcf, &app_options_container, &loc_options_container);
@@ -609,6 +622,20 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
609
622
  (const char *) plcf->autogenerated.sticky_sessions_cookie_name.data,
610
623
  plcf->autogenerated.sticky_sessions_cookie_name.len);
611
624
  }
625
+ if (plcf->autogenerated.sticky_sessions_cookie_attributes_explicitly_set) {
626
+ find_or_create_manifest_app_and_loc_options_containers(ctx,
627
+ plcf, cscf, clcf, &app_options_container, &loc_options_container);
628
+ option_container = find_or_create_manifest_option_container(ctx,
629
+ loc_options_container,
630
+ "passenger_sticky_sessions_cookie_attributes",
631
+ sizeof("passenger_sticky_sessions_cookie_attributes") - 1);
632
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
633
+ &plcf->autogenerated.sticky_sessions_cookie_attributes_source_file,
634
+ plcf->autogenerated.sticky_sessions_cookie_attributes_source_line);
635
+ psg_json_value_set_str(hierarchy_member, "value",
636
+ (const char *) plcf->autogenerated.sticky_sessions_cookie_attributes.data,
637
+ plcf->autogenerated.sticky_sessions_cookie_attributes.len);
638
+ }
612
639
  if (plcf->autogenerated.vary_turbocache_by_cookie_explicitly_set) {
613
640
  find_or_create_manifest_app_and_loc_options_containers(ctx,
614
641
  plcf, cscf, clcf, &app_options_container, &loc_options_container);
@@ -640,6 +667,7 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
640
667
 
641
668
  /*
642
669
  * No autogenerated code for:
670
+ * passenger_temp_path
643
671
  * passenger_ignore_headers
644
672
  * passenger_buffer_size
645
673
  * passenger_buffers
@@ -148,12 +148,18 @@ passenger_merge_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *conf,
148
148
  ngx_conf_merge_value(conf->request_queue_overflow_status_code,
149
149
  prev->request_queue_overflow_status_code,
150
150
  503);
151
+ ngx_conf_merge_value(conf->buffer_upload,
152
+ prev->buffer_upload,
153
+ 0);
151
154
  ngx_conf_merge_value(conf->sticky_sessions,
152
155
  prev->sticky_sessions,
153
156
  0);
154
157
  ngx_conf_merge_str_value(conf->sticky_sessions_cookie_name,
155
158
  prev->sticky_sessions_cookie_name,
156
159
  "_passenger_route");
160
+ ngx_conf_merge_str_value(conf->sticky_sessions_cookie_attributes,
161
+ prev->sticky_sessions_cookie_attributes,
162
+ "SameSite=Lax; Secure;");
157
163
  ngx_conf_merge_str_value(conf->vary_turbocache_by_cookie,
158
164
  prev->vary_turbocache_by_cookie,
159
165
  NULL);
@@ -41,6 +41,7 @@
41
41
  typedef struct {
42
42
  ngx_flag_t abort_websockets_on_process_shutdown;
43
43
  ngx_array_t *base_uris;
44
+ ngx_flag_t buffer_upload;
44
45
  ngx_flag_t debugger;
45
46
  ngx_flag_t enabled;
46
47
  ngx_array_t *env_vars;
@@ -74,6 +75,7 @@ typedef struct {
74
75
  ngx_str_t ruby;
75
76
  ngx_str_t spawn_method;
76
77
  ngx_str_t startup_file;
78
+ ngx_str_t sticky_sessions_cookie_attributes;
77
79
  ngx_str_t sticky_sessions_cookie_name;
78
80
  ngx_str_t user;
79
81
  ngx_str_t vary_turbocache_by_cookie;
@@ -86,6 +88,7 @@ typedef struct {
86
88
  ngx_str_t app_start_command_source_file;
87
89
  ngx_str_t app_type_source_file;
88
90
  ngx_str_t base_uris_source_file;
91
+ ngx_str_t buffer_upload_source_file;
89
92
  ngx_str_t debugger_source_file;
90
93
  ngx_str_t document_root_source_file;
91
94
  ngx_str_t enabled_source_file;
@@ -113,6 +116,7 @@ typedef struct {
113
116
  ngx_str_t start_timeout_source_file;
114
117
  ngx_str_t startup_file_source_file;
115
118
  ngx_str_t sticky_sessions_source_file;
119
+ ngx_str_t sticky_sessions_cookie_attributes_source_file;
116
120
  ngx_str_t sticky_sessions_cookie_name_source_file;
117
121
  ngx_str_t upstream_config_buffer_size_source_file;
118
122
  ngx_str_t upstream_config_buffering_source_file;
@@ -124,6 +128,7 @@ typedef struct {
124
128
  ngx_str_t upstream_config_pass_headers_source_file;
125
129
  ngx_str_t upstream_config_read_timeout_source_file;
126
130
  ngx_str_t upstream_config_request_buffering_source_file;
131
+ ngx_str_t upstream_config_temp_path_source_file;
127
132
  ngx_str_t user_source_file;
128
133
  ngx_str_t vary_turbocache_by_cookie_source_file;
129
134
 
@@ -135,6 +140,7 @@ typedef struct {
135
140
  ngx_uint_t app_start_command_source_line;
136
141
  ngx_uint_t app_type_source_line;
137
142
  ngx_uint_t base_uris_source_line;
143
+ ngx_uint_t buffer_upload_source_line;
138
144
  ngx_uint_t debugger_source_line;
139
145
  ngx_uint_t document_root_source_line;
140
146
  ngx_uint_t enabled_source_line;
@@ -162,6 +168,7 @@ typedef struct {
162
168
  ngx_uint_t start_timeout_source_line;
163
169
  ngx_uint_t startup_file_source_line;
164
170
  ngx_uint_t sticky_sessions_source_line;
171
+ ngx_uint_t sticky_sessions_cookie_attributes_source_line;
165
172
  ngx_uint_t sticky_sessions_cookie_name_source_line;
166
173
  ngx_uint_t upstream_config_buffer_size_source_line;
167
174
  ngx_uint_t upstream_config_buffering_source_line;
@@ -173,6 +180,7 @@ typedef struct {
173
180
  ngx_uint_t upstream_config_pass_headers_source_line;
174
181
  ngx_uint_t upstream_config_read_timeout_source_line;
175
182
  ngx_uint_t upstream_config_request_buffering_source_line;
183
+ ngx_uint_t upstream_config_temp_path_source_line;
176
184
  ngx_uint_t user_source_line;
177
185
  ngx_uint_t vary_turbocache_by_cookie_source_line;
178
186
 
@@ -184,6 +192,7 @@ typedef struct {
184
192
  ngx_int_t app_start_command_explicitly_set;
185
193
  ngx_int_t app_type_explicitly_set;
186
194
  ngx_int_t base_uris_explicitly_set;
195
+ ngx_int_t buffer_upload_explicitly_set;
187
196
  ngx_int_t debugger_explicitly_set;
188
197
  ngx_int_t document_root_explicitly_set;
189
198
  ngx_int_t enabled_explicitly_set;
@@ -211,6 +220,7 @@ typedef struct {
211
220
  ngx_int_t start_timeout_explicitly_set;
212
221
  ngx_int_t startup_file_explicitly_set;
213
222
  ngx_int_t sticky_sessions_explicitly_set;
223
+ ngx_int_t sticky_sessions_cookie_attributes_explicitly_set;
214
224
  ngx_int_t sticky_sessions_cookie_name_explicitly_set;
215
225
  ngx_int_t upstream_config_buffer_size_explicitly_set;
216
226
  ngx_int_t upstream_config_buffering_explicitly_set;
@@ -222,6 +232,7 @@ typedef struct {
222
232
  ngx_int_t upstream_config_pass_headers_explicitly_set;
223
233
  ngx_int_t upstream_config_read_timeout_explicitly_set;
224
234
  ngx_int_t upstream_config_request_buffering_explicitly_set;
235
+ ngx_int_t upstream_config_temp_path_explicitly_set;
225
236
  ngx_int_t user_explicitly_set;
226
237
  ngx_int_t vary_turbocache_by_cookie_explicitly_set;
227
238
  } passenger_autogenerated_loc_conf_t;
@@ -49,6 +49,7 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
49
49
  conf->log_level = NGX_CONF_UNSET_UINT;
50
50
  conf->log_file.data = NULL;
51
51
  conf->log_file.len = 0;
52
+ conf->disable_log_prefix = NGX_CONF_UNSET;
52
53
  conf->file_descriptor_log_file.data = NULL;
53
54
  conf->file_descriptor_log_file.len = 0;
54
55
  conf->data_buffer_dir.data = NULL;
@@ -64,6 +65,8 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
64
65
  conf->prestart_uris = NGX_CONF_UNSET_PTR;
65
66
  conf->instance_registry_dir.data = NULL;
66
67
  conf->instance_registry_dir.len = 0;
68
+ conf->spawn_dir.data = NULL;
69
+ conf->spawn_dir.len = 0;
67
70
  conf->turbocaching = NGX_CONF_UNSET;
68
71
  conf->user_switching = NGX_CONF_UNSET;
69
72
  conf->default_user.data = NULL;
@@ -110,6 +113,10 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
110
113
  conf->log_file_source_file.len = 0;
111
114
  conf->log_file_source_line = 0;
112
115
  conf->log_file_explicitly_set = 0;
116
+ conf->disable_log_prefix_source_file.data = NULL;
117
+ conf->disable_log_prefix_source_file.len = 0;
118
+ conf->disable_log_prefix_source_line = 0;
119
+ conf->disable_log_prefix_explicitly_set = 0;
113
120
  conf->file_descriptor_log_file_source_file.data = NULL;
114
121
  conf->file_descriptor_log_file_source_file.len = 0;
115
122
  conf->file_descriptor_log_file_source_line = 0;
@@ -150,6 +157,10 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
150
157
  conf->instance_registry_dir_source_file.len = 0;
151
158
  conf->instance_registry_dir_source_line = 0;
152
159
  conf->instance_registry_dir_explicitly_set = 0;
160
+ conf->spawn_dir_source_file.data = NULL;
161
+ conf->spawn_dir_source_file.len = 0;
162
+ conf->spawn_dir_source_line = 0;
163
+ conf->spawn_dir_explicitly_set = 0;
153
164
  conf->turbocaching_source_file.data = NULL;
154
165
  conf->turbocaching_source_file.len = 0;
155
166
  conf->turbocaching_source_line = 0;
@@ -113,6 +113,17 @@ generate_config_manifest_for_autogenerated_main_conf(manifest_gen_ctx_t *ctx, pa
113
113
  (const char *) conf->autogenerated.log_file.data,
114
114
  conf->autogenerated.log_file.len);
115
115
  }
116
+ if (conf->autogenerated.disable_log_prefix_explicitly_set) {
117
+ option_container = find_or_create_manifest_option_container(ctx,
118
+ ctx->global_config_container,
119
+ "passenger_disable_log_prefix",
120
+ sizeof("passenger_disable_log_prefix") - 1);
121
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
122
+ &conf->autogenerated.disable_log_prefix_source_file,
123
+ conf->autogenerated.disable_log_prefix_source_line);
124
+ psg_json_value_set_bool(hierarchy_member, "value",
125
+ conf->autogenerated.disable_log_prefix);
126
+ }
116
127
  if (conf->autogenerated.file_descriptor_log_file_explicitly_set) {
117
128
  option_container = find_or_create_manifest_option_container(ctx,
118
129
  ctx->global_config_container,
@@ -228,6 +239,18 @@ generate_config_manifest_for_autogenerated_main_conf(manifest_gen_ctx_t *ctx, pa
228
239
  (const char *) conf->autogenerated.instance_registry_dir.data,
229
240
  conf->autogenerated.instance_registry_dir.len);
230
241
  }
242
+ if (conf->autogenerated.spawn_dir_explicitly_set) {
243
+ option_container = find_or_create_manifest_option_container(ctx,
244
+ ctx->global_config_container,
245
+ "passenger_spawn_dir",
246
+ sizeof("passenger_spawn_dir") - 1);
247
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
248
+ &conf->autogenerated.spawn_dir_source_file,
249
+ conf->autogenerated.spawn_dir_source_line);
250
+ psg_json_value_set_str(hierarchy_member, "value",
251
+ (const char *) conf->autogenerated.spawn_dir.data,
252
+ conf->autogenerated.spawn_dir.len);
253
+ }
231
254
  if (conf->autogenerated.turbocaching_explicitly_set) {
232
255
  option_container = find_or_create_manifest_option_container(ctx,
233
256
  ctx->global_config_container,
@@ -44,6 +44,7 @@ typedef struct {
44
44
  ngx_uint_t core_file_descriptor_ulimit;
45
45
  ngx_array_t *ctl;
46
46
  ngx_flag_t disable_anonymous_telemetry;
47
+ ngx_flag_t disable_log_prefix;
47
48
  ngx_flag_t disable_security_update_check;
48
49
  ngx_uint_t log_level;
49
50
  ngx_uint_t max_instances_per_app;
@@ -70,6 +71,7 @@ typedef struct {
70
71
  ngx_str_t log_file;
71
72
  ngx_str_t root_dir;
72
73
  ngx_str_t security_update_check_proxy;
74
+ ngx_str_t spawn_dir;
73
75
 
74
76
  ngx_str_t abort_on_startup_error_source_file;
75
77
  ngx_str_t admin_panel_auth_type_source_file;
@@ -84,6 +86,7 @@ typedef struct {
84
86
  ngx_str_t default_group_source_file;
85
87
  ngx_str_t default_user_source_file;
86
88
  ngx_str_t disable_anonymous_telemetry_source_file;
89
+ ngx_str_t disable_log_prefix_source_file;
87
90
  ngx_str_t disable_security_update_check_source_file;
88
91
  ngx_str_t dump_config_manifest_source_file;
89
92
  ngx_str_t file_descriptor_log_file_source_file;
@@ -99,6 +102,7 @@ typedef struct {
99
102
  ngx_str_t security_update_check_proxy_source_file;
100
103
  ngx_str_t show_version_in_header_source_file;
101
104
  ngx_str_t socket_backlog_source_file;
105
+ ngx_str_t spawn_dir_source_file;
102
106
  ngx_str_t stat_throttle_rate_source_file;
103
107
  ngx_str_t turbocaching_source_file;
104
108
  ngx_str_t user_switching_source_file;
@@ -116,6 +120,7 @@ typedef struct {
116
120
  ngx_uint_t default_group_source_line;
117
121
  ngx_uint_t default_user_source_line;
118
122
  ngx_uint_t disable_anonymous_telemetry_source_line;
123
+ ngx_uint_t disable_log_prefix_source_line;
119
124
  ngx_uint_t disable_security_update_check_source_line;
120
125
  ngx_uint_t dump_config_manifest_source_line;
121
126
  ngx_uint_t file_descriptor_log_file_source_line;
@@ -131,6 +136,7 @@ typedef struct {
131
136
  ngx_uint_t security_update_check_proxy_source_line;
132
137
  ngx_uint_t show_version_in_header_source_line;
133
138
  ngx_uint_t socket_backlog_source_line;
139
+ ngx_uint_t spawn_dir_source_line;
134
140
  ngx_uint_t stat_throttle_rate_source_line;
135
141
  ngx_uint_t turbocaching_source_line;
136
142
  ngx_uint_t user_switching_source_line;
@@ -148,6 +154,7 @@ typedef struct {
148
154
  ngx_int_t default_group_explicitly_set;
149
155
  ngx_int_t default_user_explicitly_set;
150
156
  ngx_int_t disable_anonymous_telemetry_explicitly_set;
157
+ ngx_int_t disable_log_prefix_explicitly_set;
151
158
  ngx_int_t disable_security_update_check_explicitly_set;
152
159
  ngx_int_t dump_config_manifest_explicitly_set;
153
160
  ngx_int_t file_descriptor_log_file_explicitly_set;
@@ -163,6 +170,7 @@ typedef struct {
163
170
  ngx_int_t security_update_check_proxy_explicitly_set;
164
171
  ngx_int_t show_version_in_header_explicitly_set;
165
172
  ngx_int_t socket_backlog_explicitly_set;
173
+ ngx_int_t spawn_dir_explicitly_set;
166
174
  ngx_int_t stat_throttle_rate_explicitly_set;
167
175
  ngx_int_t turbocaching_explicitly_set;
168
176
  ngx_int_t user_switching_explicitly_set;
@@ -362,10 +362,12 @@ start_watchdog(ngx_cycle_t *cycle) {
362
362
  psg_json_value_set_value (w_config, "config_manifest", -1, passenger_main_conf.manifest);
363
363
  psg_json_value_set_ngx_uint (w_config, "log_level", autogenerated_main_conf->log_level);
364
364
  psg_json_value_set_ngx_str_ne(w_config, "file_descriptor_log_target", &autogenerated_main_conf->file_descriptor_log_file);
365
+ psg_json_value_set_ngx_flag (w_config, "disable_log_prefix", autogenerated_main_conf->disable_log_prefix);
365
366
  psg_json_value_set_ngx_uint (w_config, "core_file_descriptor_ulimit", autogenerated_main_conf->core_file_descriptor_ulimit);
366
367
  psg_json_value_set_ngx_uint (w_config, "controller_socket_backlog", autogenerated_main_conf->socket_backlog);
367
368
  psg_json_value_set_ngx_str_ne(w_config, "controller_file_buffered_channel_buffer_dir", &autogenerated_main_conf->data_buffer_dir);
368
369
  psg_json_value_set_ngx_str_ne(w_config, "instance_registry_dir", &autogenerated_main_conf->instance_registry_dir);
370
+ psg_json_value_set_ngx_str_ne(w_config, "spawn_dir", &autogenerated_main_conf->spawn_dir);
369
371
  psg_json_value_set_ngx_flag (w_config, "security_update_checker_disabled", autogenerated_main_conf->disable_security_update_check);
370
372
  psg_json_value_set_ngx_str_ne(w_config, "security_update_checker_proxy_url", &autogenerated_main_conf->security_update_check_proxy);
371
373
  psg_json_value_set_ngx_flag (w_config, "telemetry_collector_disabled", autogenerated_main_conf->disable_anonymous_telemetry);
@@ -21,6 +21,13 @@
21
21
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
+
25
+ # Apple has a habit of getting their Ruby headers wrong, so if we are building using system ruby we need to patch things up, sierra & mojave both did this.
26
+ # eg https://openradar.appspot.com/46465917
27
+ if RUBY_PLATFORM =~ /darwin/ && !File.exists?(RbConfig::CONFIG["rubyarchhdrdir"])
28
+ RbConfig::CONFIG["rubyarchhdrdir"].sub!(RUBY_PLATFORM.split('-').last, Dir.entries(File.dirname(RbConfig::CONFIG["rubyarchhdrdir"])).reject{|d|d.start_with?(".","ruby")}.first.split('-').last)
29
+ end
30
+
24
31
  require 'mkmf'
25
32
 
26
33
  $LIBS << " -lpthread" if $LIBS !~ /-lpthread/
@@ -31,20 +31,20 @@ module PhusionPassenger
31
31
 
32
32
  PACKAGE_NAME = 'passenger'
33
33
  # Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
34
- VERSION_STRING = '6.0.1'
34
+ VERSION_STRING = '6.0.6'
35
35
 
36
36
  # Tip: find the SHA-256 with ./dev/nginx_version_sha2 <VERSION>
37
- PREFERRED_NGINX_VERSION = '1.15.8'
38
- NGINX_SHA256_CHECKSUM = 'a8bdafbca87eb99813ae4fcac1ad0875bf725ce19eb265d28268c309b2b40787'
37
+ PREFERRED_NGINX_VERSION = '1.18.0'
38
+ NGINX_SHA256_CHECKSUM = '4c373e7ab5bf91d34a4f11a0c9496561061ba5eee6020db272a17a7228d35f99'
39
39
 
40
40
  # Packaging may be locked to an older version due to the specific module configuration being
41
41
  # incompatible with the version we prefer (latest stable).
42
- PACKAGING_PREFERRED_NGINX_VERSION = '1.15.8'
43
- PACKAGING_NGINX_SHA256_CHECKSUM = 'a8bdafbca87eb99813ae4fcac1ad0875bf725ce19eb265d28268c309b2b40787'
42
+ PACKAGING_PREFERRED_NGINX_VERSION = '1.18.0'
43
+ PACKAGING_NGINX_SHA256_CHECKSUM = '4c373e7ab5bf91d34a4f11a0c9496561061ba5eee6020db272a17a7228d35f99'
44
44
 
45
45
  # sha256sum of the .tar.gz
46
- PREFERRED_PCRE_VERSION = '8.42'
47
- PCRE_SHA256_CHECKSUM = '69acbc2fbdefb955d42a4c606dfde800c2885711d2979e356c0636efde9ec3b5'
46
+ PREFERRED_PCRE_VERSION = '8.44'
47
+ PCRE_SHA256_CHECKSUM = 'aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728'
48
48
 
49
49
  STANDALONE_INTERFACE_VERSION = 1
50
50