passenger 6.0.2 → 6.0.7

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 (468) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +152 -19
  3. data/CONTRIBUTING.md +1 -1
  4. data/CONTRIBUTORS +5 -0
  5. data/bin/passenger-install-nginx-module +1 -1
  6. data/bin/passenger-memory-stats +65 -12
  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/dist/bundle.js +1 -1
  12. data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  14. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  15. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  16. data/resources/templates/standalone/http.erb +1 -0
  17. data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
  18. data/resources/templates/standalone/server.erb +1 -0
  19. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -0
  21. data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
  22. data/src/agent/Core/ApplicationPool/Options.h +19 -0
  23. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  24. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  25. data/src/agent/Core/Config.h +15 -1
  26. data/src/agent/Core/Controller.h +1 -0
  27. data/src/agent/Core/Controller/Config.h +9 -1
  28. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  29. data/src/agent/Core/Controller/InitRequest.cpp +5 -0
  30. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  31. data/src/agent/Core/CoreMain.cpp +1 -0
  32. data/src/agent/Core/OptionParser.h +3 -0
  33. data/src/agent/Core/SpawningKit/Config.h +11 -0
  34. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -0
  35. data/src/agent/Core/SpawningKit/Context.h +1 -0
  36. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  37. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  38. data/src/agent/Core/SpawningKit/Spawner.h +1 -0
  39. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  40. data/src/agent/Watchdog/Config.h +16 -1
  41. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  42. data/src/apache2_module/Config.cpp +1 -1
  43. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
  44. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
  45. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
  46. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
  47. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
  48. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
  49. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
  50. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
  51. data/src/apache2_module/Hooks.cpp +5 -0
  52. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  53. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
  54. data/src/cxx_supportlib/Constants.h +4 -2
  55. data/src/cxx_supportlib/Hooks.h +1 -0
  56. data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
  57. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  58. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
  59. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  60. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  61. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  88. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  89. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  90. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  91. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  92. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  93. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  94. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  95. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  97. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  99. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  100. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  101. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  102. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  103. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  104. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  106. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  119. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  121. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  123. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  127. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  130. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  132. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  133. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  134. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  135. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  136. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  137. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  144. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  145. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  149. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  150. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  154. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  157. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  158. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  160. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  164. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  165. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  166. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  167. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  168. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  169. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  170. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  171. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  172. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  173. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  175. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  180. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  181. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  182. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  183. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  186. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  187. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  189. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  191. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  192. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  210. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  211. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  212. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  213. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  221. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  223. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  226. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  227. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  232. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  234. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  236. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  238. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  239. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  240. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  243. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  248. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  250. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  252. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  253. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  255. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  256. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  257. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  258. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  259. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  270. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  272. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  273. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  274. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  275. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  276. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  282. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  283. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  285. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  286. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  287. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  288. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  289. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  301. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  302. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  303. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  304. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  305. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  306. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  308. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  309. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  310. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  311. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  312. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  327. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  328. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  329. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  330. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  331. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  332. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  334. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  335. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  336. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  337. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  338. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  339. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  341. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  348. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  349. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  350. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  352. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  354. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  355. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  356. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  357. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  358. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  359. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  360. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  361. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  393. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  394. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  395. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  396. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  398. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  399. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  400. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  401. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  402. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  403. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  404. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  405. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  413. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  414. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  415. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  417. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  418. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  419. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  420. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  421. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  422. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  423. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  424. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  425. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  426. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  427. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  428. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  429. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  430. data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
  431. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
  432. data/src/helper-scripts/node-loader.js +1 -1
  433. data/src/helper-scripts/prespawn +1 -0
  434. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  435. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
  436. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  437. data/src/nginx_module/Configuration.c +14 -1
  438. data/src/nginx_module/ContentHandler.c +5 -1
  439. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
  440. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
  441. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
  442. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
  443. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
  444. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
  445. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
  446. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
  447. data/src/nginx_module/ngx_http_passenger_module.c +3 -2
  448. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  449. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  450. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
  451. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
  452. data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
  453. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
  454. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
  455. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
  456. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  457. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  458. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +7 -6
  459. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  460. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
  461. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
  462. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  463. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  464. metadata +42 -8
  465. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  466. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  467. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  468. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -277,6 +277,18 @@ passenger_conf_set_instance_registry_dir(ngx_conf_t *cf, ngx_command_t *cmd, voi
277
277
  return ngx_conf_set_str_slot(cf, cmd, conf);
278
278
  }
279
279
 
280
+ static char *
281
+ passenger_conf_set_spawn_dir(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
282
+ passenger_main_conf_t *passenger_conf = conf;
283
+
284
+ passenger_conf->autogenerated.spawn_dir_explicitly_set = 1;
285
+ record_main_conf_source_location(cf,
286
+ &passenger_conf->autogenerated.spawn_dir_source_file,
287
+ &passenger_conf->autogenerated.spawn_dir_source_line);
288
+
289
+ return ngx_conf_set_str_slot(cf, cmd, conf);
290
+ }
291
+
280
292
  static char *
281
293
  passenger_conf_set_turbocaching(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
282
294
  passenger_main_conf_t *passenger_conf = conf;
@@ -673,6 +685,18 @@ passenger_conf_set_spawn_method(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
673
685
  return ngx_conf_set_str_slot(cf, cmd, conf);
674
686
  }
675
687
 
688
+ static char *
689
+ passenger_conf_set_direct_instance_request_address(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
690
+ passenger_loc_conf_t *passenger_conf = conf;
691
+
692
+ passenger_conf->autogenerated.direct_instance_request_address_explicitly_set = 1;
693
+ record_loc_conf_source_location(cf, passenger_conf,
694
+ &passenger_conf->autogenerated.direct_instance_request_address_source_file,
695
+ &passenger_conf->autogenerated.direct_instance_request_address_source_line);
696
+
697
+ return ngx_conf_set_str_slot(cf, cmd, conf);
698
+ }
699
+
676
700
  static char *
677
701
  passenger_conf_set_load_shell_envvars(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
678
702
  passenger_loc_conf_t *passenger_conf = conf;
@@ -913,6 +937,18 @@ passenger_conf_set_request_queue_overflow_status_code(ngx_conf_t *cf, ngx_comman
913
937
  return ngx_conf_set_num_slot(cf, cmd, conf);
914
938
  }
915
939
 
940
+ static char *
941
+ passenger_conf_set_buffer_upload(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
942
+ passenger_loc_conf_t *passenger_conf = conf;
943
+
944
+ passenger_conf->autogenerated.buffer_upload_explicitly_set = 1;
945
+ record_loc_conf_source_location(cf, passenger_conf,
946
+ &passenger_conf->autogenerated.buffer_upload_source_file,
947
+ &passenger_conf->autogenerated.buffer_upload_source_line);
948
+
949
+ return ngx_conf_set_flag_slot(cf, cmd, conf);
950
+ }
951
+
916
952
  static char *
917
953
  passenger_conf_set_sticky_sessions(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
918
954
  passenger_loc_conf_t *passenger_conf = conf;
@@ -937,6 +973,18 @@ passenger_conf_set_sticky_sessions_cookie_name(ngx_conf_t *cf, ngx_command_t *cm
937
973
  return ngx_conf_set_str_slot(cf, cmd, conf);
938
974
  }
939
975
 
976
+ static char *
977
+ passenger_conf_set_sticky_sessions_cookie_attributes(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
978
+ passenger_loc_conf_t *passenger_conf = conf;
979
+
980
+ passenger_conf->autogenerated.sticky_sessions_cookie_attributes_explicitly_set = 1;
981
+ record_loc_conf_source_location(cf, passenger_conf,
982
+ &passenger_conf->autogenerated.sticky_sessions_cookie_attributes_source_file,
983
+ &passenger_conf->autogenerated.sticky_sessions_cookie_attributes_source_line);
984
+
985
+ return ngx_conf_set_str_slot(cf, cmd, conf);
986
+ }
987
+
940
988
  static char *
941
989
  passenger_conf_set_vary_turbocache_by_cookie(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
942
990
  passenger_loc_conf_t *passenger_conf = conf;
@@ -61,6 +61,10 @@ static ngx_str_t headers_to_hide[] = {
61
61
 
62
62
  passenger_main_conf_t passenger_main_conf;
63
63
 
64
+ static ngx_path_init_t ngx_http_proxy_temp_path = {
65
+ ngx_string(NGX_HTTP_PROXY_TEMP_PATH), { 1, 2, 0 }
66
+ };
67
+
64
68
 
65
69
  static ngx_int_t merge_headers(ngx_conf_t *cf, passenger_loc_conf_t *conf,
66
70
  passenger_loc_conf_t *prev);
@@ -573,6 +577,15 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
573
577
  |NGX_HTTP_UPSTREAM_FT_OFF;
574
578
  }
575
579
 
580
+ if (ngx_conf_merge_path_value(cf,
581
+ &conf->upstream_config.temp_path,
582
+ prev->upstream_config.temp_path,
583
+ &ngx_http_proxy_temp_path)
584
+ != NGX_OK)
585
+ {
586
+ return NGX_CONF_ERROR;
587
+ }
588
+
576
589
  #if (NGX_HTTP_CACHE)
577
590
 
578
591
  #if NGINX_VERSION_NUM >= 1007009
@@ -1082,7 +1095,7 @@ static char *
1082
1095
  passenger_enterprise_only(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
1083
1096
  return ": this feature is only available in Phusion Passenger Enterprise. "
1084
1097
  "You are currently running the open source Phusion Passenger. "
1085
- "Please learn more about and/or buy Phusion Passenger Enterprise at https://www.phusionpassenger.com/enterprise ;";
1098
+ "Please learn more about and/or buy Phusion Passenger Enterprise at https://www.phusionpassenger.com/features#premium-features ;";
1086
1099
  }
1087
1100
  #endif
1088
1101
 
@@ -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) {
@@ -69,6 +69,8 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
69
69
  conf->env_vars = NULL;
70
70
  conf->spawn_method.data = NULL;
71
71
  conf->spawn_method.len = 0;
72
+ conf->direct_instance_request_address.data = NULL;
73
+ conf->direct_instance_request_address.len = 0;
72
74
  conf->load_shell_envvars = NGX_CONF_UNSET;
73
75
  conf->max_request_queue_size = NGX_CONF_UNSET_UINT;
74
76
  conf->app_type.data = NULL;
@@ -89,9 +91,12 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
89
91
  conf->headers_hash_max_size = NGX_CONF_UNSET_UINT;
90
92
  conf->headers_hash_bucket_size = NGX_CONF_UNSET_UINT;
91
93
  conf->request_queue_overflow_status_code = NGX_CONF_UNSET;
94
+ conf->buffer_upload = NGX_CONF_UNSET;
92
95
  conf->sticky_sessions = NGX_CONF_UNSET;
93
96
  conf->sticky_sessions_cookie_name.data = NULL;
94
97
  conf->sticky_sessions_cookie_name.len = 0;
98
+ conf->sticky_sessions_cookie_attributes.data = NULL;
99
+ conf->sticky_sessions_cookie_attributes.len = 0;
95
100
  conf->vary_turbocache_by_cookie.data = NULL;
96
101
  conf->vary_turbocache_by_cookie.len = 0;
97
102
  conf->app_log_file.data = NULL;
@@ -169,6 +174,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
169
174
  conf->spawn_method_source_file.len = 0;
170
175
  conf->spawn_method_source_line = 0;
171
176
  conf->spawn_method_explicitly_set = 0;
177
+ conf->direct_instance_request_address_source_file.data = NULL;
178
+ conf->direct_instance_request_address_source_file.len = 0;
179
+ conf->direct_instance_request_address_source_line = 0;
180
+ conf->direct_instance_request_address_explicitly_set = 0;
172
181
  conf->load_shell_envvars_source_file.data = NULL;
173
182
  conf->load_shell_envvars_source_file.len = 0;
174
183
  conf->load_shell_envvars_source_line = 0;
@@ -217,6 +226,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
217
226
  conf->document_root_source_file.len = 0;
218
227
  conf->document_root_source_line = 0;
219
228
  conf->document_root_explicitly_set = 0;
229
+ conf->upstream_config_temp_path_source_file.data = NULL;
230
+ conf->upstream_config_temp_path_source_file.len = 0;
231
+ conf->upstream_config_temp_path_source_line = 0;
232
+ conf->upstream_config_temp_path_explicitly_set = 0;
220
233
  conf->upstream_config_ignore_headers_source_file.data = NULL;
221
234
  conf->upstream_config_ignore_headers_source_file.len = 0;
222
235
  conf->upstream_config_ignore_headers_source_line = 0;
@@ -273,6 +286,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
273
286
  conf->request_queue_overflow_status_code_source_file.len = 0;
274
287
  conf->request_queue_overflow_status_code_source_line = 0;
275
288
  conf->request_queue_overflow_status_code_explicitly_set = 0;
289
+ conf->buffer_upload_source_file.data = NULL;
290
+ conf->buffer_upload_source_file.len = 0;
291
+ conf->buffer_upload_source_line = 0;
292
+ conf->buffer_upload_explicitly_set = 0;
276
293
  conf->sticky_sessions_source_file.data = NULL;
277
294
  conf->sticky_sessions_source_file.len = 0;
278
295
  conf->sticky_sessions_source_line = 0;
@@ -281,6 +298,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
281
298
  conf->sticky_sessions_cookie_name_source_file.len = 0;
282
299
  conf->sticky_sessions_cookie_name_source_line = 0;
283
300
  conf->sticky_sessions_cookie_name_explicitly_set = 0;
301
+ conf->sticky_sessions_cookie_attributes_source_file.data = NULL;
302
+ conf->sticky_sessions_cookie_attributes_source_file.len = 0;
303
+ conf->sticky_sessions_cookie_attributes_source_line = 0;
304
+ conf->sticky_sessions_cookie_attributes_explicitly_set = 0;
284
305
  conf->vary_turbocache_by_cookie_source_file.data = NULL;
285
306
  conf->vary_turbocache_by_cookie_source_file.len = 0;
286
307
  conf->vary_turbocache_by_cookie_source_line = 0;
@@ -159,6 +159,12 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
159
159
  len += sizeof("\r\n") - 1;
160
160
  }
161
161
 
162
+ if (conf->autogenerated.direct_instance_request_address.data != NULL) {
163
+ len += sizeof("!~PASSENGER_DIRECT_INSTANCE_REQUEST_ADDRESS: ") - 1;
164
+ len += conf->autogenerated.direct_instance_request_address.len;
165
+ len += sizeof("\r\n") - 1;
166
+ }
167
+
162
168
  if (conf->autogenerated.load_shell_envvars != NGX_CONF_UNSET) {
163
169
  len += sizeof("!~PASSENGER_LOAD_SHELL_ENVVARS: ") - 1;
164
170
  len += conf->autogenerated.load_shell_envvars
@@ -238,6 +244,12 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
238
244
  len += sizeof("\r\n") - 1;
239
245
  }
240
246
 
247
+ if (conf->autogenerated.sticky_sessions_cookie_attributes.data != NULL) {
248
+ len += sizeof("!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ") - 1;
249
+ len += conf->autogenerated.sticky_sessions_cookie_attributes.len;
250
+ len += sizeof("\r\n") - 1;
251
+ }
252
+
241
253
  if (conf->autogenerated.vary_turbocache_by_cookie.data != NULL) {
242
254
  len += sizeof("!~PASSENGER_VARY_TURBOCACHE_BY_COOKIE: ") - 1;
243
255
  len += conf->autogenerated.vary_turbocache_by_cookie.len;
@@ -411,6 +423,15 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
411
423
  conf->autogenerated.spawn_method.len);
412
424
  pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
413
425
  }
426
+ if (conf->autogenerated.direct_instance_request_address.data != NULL) {
427
+ pos = ngx_copy(pos,
428
+ "!~PASSENGER_DIRECT_INSTANCE_REQUEST_ADDRESS: ",
429
+ sizeof("!~PASSENGER_DIRECT_INSTANCE_REQUEST_ADDRESS: ") - 1);
430
+ pos = ngx_copy(pos,
431
+ conf->autogenerated.direct_instance_request_address.data,
432
+ conf->autogenerated.direct_instance_request_address.len);
433
+ pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
434
+ }
414
435
  if (conf->autogenerated.load_shell_envvars != NGX_CONF_UNSET) {
415
436
  pos = ngx_copy(pos,
416
437
  "!~PASSENGER_LOAD_SHELL_ENVVARS: ",
@@ -515,6 +536,15 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
515
536
  conf->autogenerated.sticky_sessions_cookie_name.len);
516
537
  pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
517
538
  }
539
+ if (conf->autogenerated.sticky_sessions_cookie_attributes.data != NULL) {
540
+ pos = ngx_copy(pos,
541
+ "!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ",
542
+ sizeof("!~PASSENGER_STICKY_SESSIONS_COOKIE_ATTRIBUTES: ") - 1);
543
+ pos = ngx_copy(pos,
544
+ conf->autogenerated.sticky_sessions_cookie_attributes.data,
545
+ conf->autogenerated.sticky_sessions_cookie_attributes.len);
546
+ pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
547
+ }
518
548
  if (conf->autogenerated.vary_turbocache_by_cookie.data != NULL) {
519
549
  pos = ngx_copy(pos,
520
550
  "!~PASSENGER_VARY_TURBOCACHE_BY_COOKIE: ",
@@ -291,6 +291,20 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
291
291
  (const char *) plcf->autogenerated.spawn_method.data,
292
292
  plcf->autogenerated.spawn_method.len);
293
293
  }
294
+ if (plcf->autogenerated.direct_instance_request_address_explicitly_set) {
295
+ find_or_create_manifest_app_and_loc_options_containers(ctx,
296
+ plcf, cscf, clcf, &app_options_container, &loc_options_container);
297
+ option_container = find_or_create_manifest_option_container(ctx,
298
+ app_options_container,
299
+ "passenger_direct_instance_request_address",
300
+ sizeof("passenger_direct_instance_request_address") - 1);
301
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
302
+ &plcf->autogenerated.direct_instance_request_address_source_file,
303
+ plcf->autogenerated.direct_instance_request_address_source_line);
304
+ psg_json_value_set_str(hierarchy_member, "value",
305
+ (const char *) plcf->autogenerated.direct_instance_request_address.data,
306
+ plcf->autogenerated.direct_instance_request_address.len);
307
+ }
294
308
  if (plcf->autogenerated.load_shell_envvars_explicitly_set) {
295
309
  find_or_create_manifest_app_and_loc_options_containers(ctx,
296
310
  plcf, cscf, clcf, &app_options_container, &loc_options_container);
@@ -582,6 +596,19 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
582
596
  psg_json_value_set_int(hierarchy_member, "value",
583
597
  plcf->autogenerated.request_queue_overflow_status_code);
584
598
  }
599
+ if (plcf->autogenerated.buffer_upload_explicitly_set) {
600
+ find_or_create_manifest_app_and_loc_options_containers(ctx,
601
+ plcf, cscf, clcf, &app_options_container, &loc_options_container);
602
+ option_container = find_or_create_manifest_option_container(ctx,
603
+ loc_options_container,
604
+ "passenger_buffer_upload",
605
+ sizeof("passenger_buffer_upload") - 1);
606
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
607
+ &plcf->autogenerated.buffer_upload_source_file,
608
+ plcf->autogenerated.buffer_upload_source_line);
609
+ psg_json_value_set_bool(hierarchy_member, "value",
610
+ plcf->autogenerated.buffer_upload);
611
+ }
585
612
  if (plcf->autogenerated.sticky_sessions_explicitly_set) {
586
613
  find_or_create_manifest_app_and_loc_options_containers(ctx,
587
614
  plcf, cscf, clcf, &app_options_container, &loc_options_container);
@@ -609,6 +636,20 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
609
636
  (const char *) plcf->autogenerated.sticky_sessions_cookie_name.data,
610
637
  plcf->autogenerated.sticky_sessions_cookie_name.len);
611
638
  }
639
+ if (plcf->autogenerated.sticky_sessions_cookie_attributes_explicitly_set) {
640
+ find_or_create_manifest_app_and_loc_options_containers(ctx,
641
+ plcf, cscf, clcf, &app_options_container, &loc_options_container);
642
+ option_container = find_or_create_manifest_option_container(ctx,
643
+ loc_options_container,
644
+ "passenger_sticky_sessions_cookie_attributes",
645
+ sizeof("passenger_sticky_sessions_cookie_attributes") - 1);
646
+ hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
647
+ &plcf->autogenerated.sticky_sessions_cookie_attributes_source_file,
648
+ plcf->autogenerated.sticky_sessions_cookie_attributes_source_line);
649
+ psg_json_value_set_str(hierarchy_member, "value",
650
+ (const char *) plcf->autogenerated.sticky_sessions_cookie_attributes.data,
651
+ plcf->autogenerated.sticky_sessions_cookie_attributes.len);
652
+ }
612
653
  if (plcf->autogenerated.vary_turbocache_by_cookie_explicitly_set) {
613
654
  find_or_create_manifest_app_and_loc_options_containers(ctx,
614
655
  plcf, cscf, clcf, &app_options_container, &loc_options_container);
@@ -640,6 +681,7 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
640
681
 
641
682
  /*
642
683
  * No autogenerated code for:
684
+ * passenger_temp_path
643
685
  * passenger_ignore_headers
644
686
  * passenger_buffer_size
645
687
  * passenger_buffers
@@ -101,6 +101,9 @@ passenger_merge_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *conf,
101
101
  ngx_conf_merge_str_value(conf->spawn_method,
102
102
  prev->spawn_method,
103
103
  NULL);
104
+ ngx_conf_merge_str_value(conf->direct_instance_request_address,
105
+ prev->direct_instance_request_address,
106
+ "127.0.0.1");
104
107
  ngx_conf_merge_value(conf->load_shell_envvars,
105
108
  prev->load_shell_envvars,
106
109
  1);
@@ -148,12 +151,18 @@ passenger_merge_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *conf,
148
151
  ngx_conf_merge_value(conf->request_queue_overflow_status_code,
149
152
  prev->request_queue_overflow_status_code,
150
153
  503);
154
+ ngx_conf_merge_value(conf->buffer_upload,
155
+ prev->buffer_upload,
156
+ 0);
151
157
  ngx_conf_merge_value(conf->sticky_sessions,
152
158
  prev->sticky_sessions,
153
159
  0);
154
160
  ngx_conf_merge_str_value(conf->sticky_sessions_cookie_name,
155
161
  prev->sticky_sessions_cookie_name,
156
162
  "_passenger_route");
163
+ ngx_conf_merge_str_value(conf->sticky_sessions_cookie_attributes,
164
+ prev->sticky_sessions_cookie_attributes,
165
+ "SameSite=Lax; Secure;");
157
166
  ngx_conf_merge_str_value(conf->vary_turbocache_by_cookie,
158
167
  prev->vary_turbocache_by_cookie,
159
168
  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;
@@ -64,6 +65,7 @@ typedef struct {
64
65
  ngx_str_t app_root;
65
66
  ngx_str_t app_start_command;
66
67
  ngx_str_t app_type;
68
+ ngx_str_t direct_instance_request_address;
67
69
  ngx_str_t document_root;
68
70
  ngx_str_t environment;
69
71
  ngx_str_t group;
@@ -74,6 +76,7 @@ typedef struct {
74
76
  ngx_str_t ruby;
75
77
  ngx_str_t spawn_method;
76
78
  ngx_str_t startup_file;
79
+ ngx_str_t sticky_sessions_cookie_attributes;
77
80
  ngx_str_t sticky_sessions_cookie_name;
78
81
  ngx_str_t user;
79
82
  ngx_str_t vary_turbocache_by_cookie;
@@ -86,7 +89,9 @@ typedef struct {
86
89
  ngx_str_t app_start_command_source_file;
87
90
  ngx_str_t app_type_source_file;
88
91
  ngx_str_t base_uris_source_file;
92
+ ngx_str_t buffer_upload_source_file;
89
93
  ngx_str_t debugger_source_file;
94
+ ngx_str_t direct_instance_request_address_source_file;
90
95
  ngx_str_t document_root_source_file;
91
96
  ngx_str_t enabled_source_file;
92
97
  ngx_str_t env_vars_source_file;
@@ -113,6 +118,7 @@ typedef struct {
113
118
  ngx_str_t start_timeout_source_file;
114
119
  ngx_str_t startup_file_source_file;
115
120
  ngx_str_t sticky_sessions_source_file;
121
+ ngx_str_t sticky_sessions_cookie_attributes_source_file;
116
122
  ngx_str_t sticky_sessions_cookie_name_source_file;
117
123
  ngx_str_t upstream_config_buffer_size_source_file;
118
124
  ngx_str_t upstream_config_buffering_source_file;
@@ -124,6 +130,7 @@ typedef struct {
124
130
  ngx_str_t upstream_config_pass_headers_source_file;
125
131
  ngx_str_t upstream_config_read_timeout_source_file;
126
132
  ngx_str_t upstream_config_request_buffering_source_file;
133
+ ngx_str_t upstream_config_temp_path_source_file;
127
134
  ngx_str_t user_source_file;
128
135
  ngx_str_t vary_turbocache_by_cookie_source_file;
129
136
 
@@ -135,7 +142,9 @@ typedef struct {
135
142
  ngx_uint_t app_start_command_source_line;
136
143
  ngx_uint_t app_type_source_line;
137
144
  ngx_uint_t base_uris_source_line;
145
+ ngx_uint_t buffer_upload_source_line;
138
146
  ngx_uint_t debugger_source_line;
147
+ ngx_uint_t direct_instance_request_address_source_line;
139
148
  ngx_uint_t document_root_source_line;
140
149
  ngx_uint_t enabled_source_line;
141
150
  ngx_uint_t env_vars_source_line;
@@ -162,6 +171,7 @@ typedef struct {
162
171
  ngx_uint_t start_timeout_source_line;
163
172
  ngx_uint_t startup_file_source_line;
164
173
  ngx_uint_t sticky_sessions_source_line;
174
+ ngx_uint_t sticky_sessions_cookie_attributes_source_line;
165
175
  ngx_uint_t sticky_sessions_cookie_name_source_line;
166
176
  ngx_uint_t upstream_config_buffer_size_source_line;
167
177
  ngx_uint_t upstream_config_buffering_source_line;
@@ -173,6 +183,7 @@ typedef struct {
173
183
  ngx_uint_t upstream_config_pass_headers_source_line;
174
184
  ngx_uint_t upstream_config_read_timeout_source_line;
175
185
  ngx_uint_t upstream_config_request_buffering_source_line;
186
+ ngx_uint_t upstream_config_temp_path_source_line;
176
187
  ngx_uint_t user_source_line;
177
188
  ngx_uint_t vary_turbocache_by_cookie_source_line;
178
189
 
@@ -184,7 +195,9 @@ typedef struct {
184
195
  ngx_int_t app_start_command_explicitly_set;
185
196
  ngx_int_t app_type_explicitly_set;
186
197
  ngx_int_t base_uris_explicitly_set;
198
+ ngx_int_t buffer_upload_explicitly_set;
187
199
  ngx_int_t debugger_explicitly_set;
200
+ ngx_int_t direct_instance_request_address_explicitly_set;
188
201
  ngx_int_t document_root_explicitly_set;
189
202
  ngx_int_t enabled_explicitly_set;
190
203
  ngx_int_t env_vars_explicitly_set;
@@ -211,6 +224,7 @@ typedef struct {
211
224
  ngx_int_t start_timeout_explicitly_set;
212
225
  ngx_int_t startup_file_explicitly_set;
213
226
  ngx_int_t sticky_sessions_explicitly_set;
227
+ ngx_int_t sticky_sessions_cookie_attributes_explicitly_set;
214
228
  ngx_int_t sticky_sessions_cookie_name_explicitly_set;
215
229
  ngx_int_t upstream_config_buffer_size_explicitly_set;
216
230
  ngx_int_t upstream_config_buffering_explicitly_set;
@@ -222,6 +236,7 @@ typedef struct {
222
236
  ngx_int_t upstream_config_pass_headers_explicitly_set;
223
237
  ngx_int_t upstream_config_read_timeout_explicitly_set;
224
238
  ngx_int_t upstream_config_request_buffering_explicitly_set;
239
+ ngx_int_t upstream_config_temp_path_explicitly_set;
225
240
  ngx_int_t user_explicitly_set;
226
241
  ngx_int_t vary_turbocache_by_cookie_explicitly_set;
227
242
  } passenger_autogenerated_loc_conf_t;
@@ -65,6 +65,8 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
65
65
  conf->prestart_uris = NGX_CONF_UNSET_PTR;
66
66
  conf->instance_registry_dir.data = NULL;
67
67
  conf->instance_registry_dir.len = 0;
68
+ conf->spawn_dir.data = NULL;
69
+ conf->spawn_dir.len = 0;
68
70
  conf->turbocaching = NGX_CONF_UNSET;
69
71
  conf->user_switching = NGX_CONF_UNSET;
70
72
  conf->default_user.data = NULL;
@@ -155,6 +157,10 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
155
157
  conf->instance_registry_dir_source_file.len = 0;
156
158
  conf->instance_registry_dir_source_line = 0;
157
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;
158
164
  conf->turbocaching_source_file.data = NULL;
159
165
  conf->turbocaching_source_file.len = 0;
160
166
  conf->turbocaching_source_line = 0;