passenger 6.0.10 → 6.0.13
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.
- checksums.yaml +4 -4
- data/CHANGELOG +84 -1
- data/CONTRIBUTORS +4 -0
- data/bin/passenger-install-nginx-module +2 -1
- data/build/common_library.rb +1 -1
- data/dev/copy_boost_headers +48 -16
- data/dev/index_cxx_dependencies.rb +1 -1
- data/dev/webpacketpp.patch +39 -0
- data/package.json +1 -1
- data/resources/mime.types +1 -0
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +5 -0
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
- data/src/agent/Core/Controller/Config.h +5 -2
- data/src/agent/Core/Controller/InitRequest.cpp +2 -0
- data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
- data/src/agent/Core/Controller.h +4 -1
- data/src/agent/Core/OptionParser.h +4 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +7 -0
- data/src/agent/Core/SpawningKit/Config.h +13 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +4 -0
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +4 -0
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +18 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
- data/src/apache2_module/Hooks.cpp +1 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_obsolete.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/COPYING +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/changelog.md +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/readme.md +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/base64/base64.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/client.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/close.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/asio.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/asio_ssl.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/chrono.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/connection_hdl.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/cpp11.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/functional.hpp +2 -7
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/md5.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/memory.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/network.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/platforms.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/random.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/regex.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/stdint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/system_error.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/thread.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/time.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/common/type_traits.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/concurrency/basic.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/concurrency/none.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_client.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/boost_config.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/core.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/core_client.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug_asio.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/minimal_client.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/config/minimal_server.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/connection_base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/endpoint_base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/error.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/extensions/extension.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/frame.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/constants.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/impl/parser.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/impl/request.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/impl/response.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/parser.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/request.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/http/response.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/impl/connection_impl.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/basic.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/levels.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/stub.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/logger/syslog.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/message.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/message_buffer/pool.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi00.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi07.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi08.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/hybi13.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/processors/processor.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/random/none.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/random/random_device.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/server.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/sha1/sha1.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/base/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/debug/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/debug/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/iostream/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/stub/base.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/stub/connection.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/uri.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/utf8_validator.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/utilities.hpp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/websocketpp/websocketpp/version.hpp +0 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +16 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +12 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +24 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +10 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +39 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +26 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/ngx_http_passenger_module.c +1 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/common.js +50 -29
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/cli-config.js +20 -20
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/npm-config.js +11 -11
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/syslog-config.js +3 -3
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config.js +8 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/container.js +2 -1
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +174 -146
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/console.js +4 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/file.js +15 -5
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/http.js +14 -4
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports.js +26 -24
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston.js +5 -5
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/async/package.json +4 -13
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/colors/package.json +19 -33
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/cycle/package.json +11 -29
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/eyes/package.json +12 -40
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/isstream/package.json +3 -12
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/lib/stack-trace.js +49 -24
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/package.json +4 -16
- data/src/nodejs_supportlib/vendor-copy/winston/package.json +11 -55
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +12 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +7 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +17 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +65 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +18 -18
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +148 -105
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/daily-rotate-file.js +0 -601
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/webhook.js +0 -146
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/LICENSE +0 -19
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/lib/pkginfo.js +0 -136
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/package.json +0 -56
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24a18af9e7b3ec92ce88aa64fd7d62242691972a
|
|
4
|
+
data.tar.gz: b3b72d0daa134635ea11f3cab5745f7a491dd102
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42bd44f99c71b20f121f91197ae7e407993fef8a15935659907f98399d10deb5c97dac9acb8f9cb253cb42b1304a140769a67c08a22e7f9fe1cda5e9cb06e3f0
|
|
7
|
+
data.tar.gz: 923ab59ac46d2d6f96f265fa79628a8f68186c2e8055bbb451cbcf9f593f5f58cb1cfaf1c4aef8950a8356a8c2b95a0821f957211ca5d003b262e33b1c813453
|
data/CHANGELOG
CHANGED
|
@@ -1,4 +1,86 @@
|
|
|
1
|
-
Release 6.0.
|
|
1
|
+
Release 6.0.13 (Not yet released)
|
|
2
|
+
-------------
|
|
3
|
+
* Add WASM mime type, Closes GH-2398.
|
|
4
|
+
* Fix compilation on FreeBSD 13. Closes GH-2402.
|
|
5
|
+
* [Ruby] Fixes app process crash when ECONNRESET received.
|
|
6
|
+
* Fix automated fetching of pcre source for installer scripts.
|
|
7
|
+
* Bump preferred nginx 1.20.1 → 1.20.2.
|
|
8
|
+
* [Ruby] Add option to preload bundler. Closes GH-2409.
|
|
9
|
+
|
|
10
|
+
- Apache: PassengerPreloadBundler
|
|
11
|
+
- Nginx: passenger_preload_bundler
|
|
12
|
+
- Standalone: --preload_bundler
|
|
13
|
+
|
|
14
|
+
* [Node] Suppresses the winston circular dependency warning.
|
|
15
|
+
* [RPMs] EL8 RPMs are now built on Rocky linux, and should be compatible with Alma, Rocky, CentOS, and RHEL.
|
|
16
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
|
17
|
+
|
|
18
|
+
- ccache 4.4.2 → 4.6
|
|
19
|
+
- cmake 3.21.4 → 3.22.3
|
|
20
|
+
- curl 7.79.1 → 7.82.0
|
|
21
|
+
- git 2.33.1 → 2.35.1
|
|
22
|
+
- gnupg 2.3.3 → 2.3.4
|
|
23
|
+
- libgpg_error 1.42 → 1.44
|
|
24
|
+
- ntbtls 0.2.0 → 0.3.0
|
|
25
|
+
- openssl 1.1.1l → 1.1.1n
|
|
26
|
+
- rubygems 3.2.30 → 3.3.9
|
|
27
|
+
- zstd 1.5.0 → 1.5.2
|
|
28
|
+
- ruby
|
|
29
|
+
- dropped 2.4.10
|
|
30
|
+
- dropped 2.5.9
|
|
31
|
+
- 2.6.8 → 2.6.9
|
|
32
|
+
- 2.7.4 → 2.7.5
|
|
33
|
+
- 3.0.2 → 3.0.3
|
|
34
|
+
- added 3.1.1
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
Release 6.0.12
|
|
38
|
+
-------------
|
|
39
|
+
* [Debian] Fix compilation on 32 bit arm. Contributed by Antonio Terceiro.
|
|
40
|
+
* [Debian] Add Bullseye Debian packages.
|
|
41
|
+
* Add formatted error messages to responses. Contributed by Mohammad Aboelnour.
|
|
42
|
+
* Fixes for running under WSL 1. Contributed by Luke Pearce. Closes GH-2036.
|
|
43
|
+
* Upgrades Boost to 1.77. To go along with 32 bit arm fix.
|
|
44
|
+
* [MacOS] Fixes autodetection of openssl lib on apple silicon. Contributed by Taketo Takashima. Closes GH-2389.
|
|
45
|
+
* Reconnect to mongoid databases after fork, like we do for ActiveRecord. Contributed by Mohammad Aboelnour.
|
|
46
|
+
* [Ubuntu] add missing apache name in instance registry dir detection.
|
|
47
|
+
* [Ubuntu] replace hirsute apt packages with impish.
|
|
48
|
+
* [Nginx] add new config option to choose the status code returned when application spawning fails. (passenger_spawn_exception_status_code).
|
|
49
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
|
50
|
+
|
|
51
|
+
- ccache: 4.4.1 → 4.4.2
|
|
52
|
+
- cmake: 3.21.2 → 3.21.4
|
|
53
|
+
- curl: 7.78.0 → 7.79.1
|
|
54
|
+
- git: 2.33.0 → 2.33.1
|
|
55
|
+
- gnupg: 2.3.2 → 2.3.3
|
|
56
|
+
- rubygems: 3.2.27 → 3.2.30
|
|
57
|
+
- s3cmd: 2.1.0 → 2.2.0
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Release 6.0.11
|
|
61
|
+
-------------
|
|
62
|
+
* Fix compilation on GCC 4.4, fixes a regression in 6.0.8 where Passenger would no longer compiler without a C++11 compiler.
|
|
63
|
+
* [CentOS] Fix version detection on CentOS Stream. Contributed by Taketo Takashima. Closes GH-2377.
|
|
64
|
+
* [MacOS] Additionally look for PCRE in the new location that Homebrew has split it's packages into.
|
|
65
|
+
* Fix compilation on GCC < 4.5.
|
|
66
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
|
67
|
+
|
|
68
|
+
- ccache: 4.3 → 4.4.1
|
|
69
|
+
- cmake: 3.20.5 → 3.21.2
|
|
70
|
+
- curl: 7.77.0 → 7.78.0
|
|
71
|
+
- git: 2.32.0 → 2.33.0
|
|
72
|
+
- gnupg: 2.3.1 → 2.3.2
|
|
73
|
+
- libgcrypt: 1.9.3 → 1.9.4
|
|
74
|
+
- openssl: 1.1.1k → 1.1.1l
|
|
75
|
+
- pinentry: 1.1.1 → 1.2.0
|
|
76
|
+
- rubygems: 3.2.21 → 3.2.27
|
|
77
|
+
- rubies:
|
|
78
|
+
- 2.6.7 → 2.6.8
|
|
79
|
+
- 2.7.3 → 2.7.4
|
|
80
|
+
- 3.0.1 → 3.0.2
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
Release 6.0.10
|
|
2
84
|
-------------
|
|
3
85
|
* [Debian/Ubuntu] Fix a regression in `passenger_system_ruby` where Ruby 3 couldn't be found.
|
|
4
86
|
* [CentOS/RHEL] Bump rpm nginx dependency to match EPEL nginx (was 1.16.1 now 1.20.1). Closes GH-2364.
|
|
@@ -11,6 +93,7 @@ Release 6.0.10 (Not yet released)
|
|
|
11
93
|
- rubygems 3.2.19 → 3.2.21
|
|
12
94
|
- pcre 8.44 → 8.45
|
|
13
95
|
|
|
96
|
+
|
|
14
97
|
Release 6.0.9
|
|
15
98
|
-------------
|
|
16
99
|
* Upgrades Boost to 1.76. Fixes a regression where some boost headers for comatibility with older distros were missing.
|
data/CONTRIBUTORS
CHANGED
|
@@ -9,6 +9,7 @@ Andre Ferraz
|
|
|
9
9
|
Andre Nathan
|
|
10
10
|
Andrei Belov
|
|
11
11
|
Andy Allan
|
|
12
|
+
Antonio Terceiro
|
|
12
13
|
Benjamin Fleischer
|
|
13
14
|
Bernd Ahlers
|
|
14
15
|
Bernhard M. Wiedemann
|
|
@@ -64,6 +65,7 @@ Joshua Lund
|
|
|
64
65
|
jpatterson
|
|
65
66
|
Jude Nagurney
|
|
66
67
|
Kenneth Powers
|
|
68
|
+
Luke Pearce
|
|
67
69
|
Luuk Hafkamp (Phusion)
|
|
68
70
|
Luuk Hendriks (Phusion)
|
|
69
71
|
MAEDA Go
|
|
@@ -74,6 +76,7 @@ Michal Papis
|
|
|
74
76
|
Michał Pokrywka
|
|
75
77
|
Mike
|
|
76
78
|
Mike Boone
|
|
79
|
+
Mohammad Aboelnour
|
|
77
80
|
Morton Jonuschat
|
|
78
81
|
Nathaniel Bibler
|
|
79
82
|
Neil Wilson
|
|
@@ -110,6 +113,7 @@ Sebastian Welther
|
|
|
110
113
|
Slippy Douglas
|
|
111
114
|
Stephen Bannasch
|
|
112
115
|
Steven Chamberlain
|
|
116
|
+
Taketo Takashima
|
|
113
117
|
TheBerg
|
|
114
118
|
Thomas Pfister
|
|
115
119
|
Tim Bishop
|
|
@@ -268,7 +268,7 @@ private
|
|
|
268
268
|
new_screen
|
|
269
269
|
puts "<banner>PCRE (required by Nginx) not installed, downloading it...</banner>"
|
|
270
270
|
|
|
271
|
-
url = "https://
|
|
271
|
+
url = "https://sourceforge.net/projects/pcre/files/pcre/#{PREFERRED_PCRE_VERSION}/pcre-#{PREFERRED_PCRE_VERSION}.tar.gz/download"
|
|
272
272
|
dirname = "pcre-#{PREFERRED_PCRE_VERSION}"
|
|
273
273
|
tarball = "#{@working_dir}/pcre.tar.gz"
|
|
274
274
|
|
|
@@ -575,6 +575,7 @@ private
|
|
|
575
575
|
# Nginx checks for PCRE in multiple places...
|
|
576
576
|
system("(gcc -I/usr/local/include -I/usr/include/pcre " <<
|
|
577
577
|
"-I/usr/pkg/include -I/opt/local/include " <<
|
|
578
|
+
"-I/opt/homebrew/include " <<
|
|
578
579
|
"-c passenger-check.c) >/dev/null 2>/dev/null")
|
|
579
580
|
end
|
|
580
581
|
ensure
|
data/build/common_library.rb
CHANGED
|
@@ -245,7 +245,7 @@ end
|
|
|
245
245
|
|
|
246
246
|
########## WebSocket++ ##########
|
|
247
247
|
|
|
248
|
-
let(:websocketpp_cflags) { '-Isrc/cxx_supportlib/vendor-
|
|
248
|
+
let(:websocketpp_cflags) { '-Isrc/cxx_supportlib/vendor-modified/websocketpp' }
|
|
249
249
|
let(:websocketpp_libs) { nil }
|
|
250
250
|
|
|
251
251
|
|
data/dev/copy_boost_headers
CHANGED
|
@@ -102,16 +102,31 @@ PROGRAM_SOURCE = %q{
|
|
|
102
102
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
|
103
103
|
#include <boost/foreach.hpp>
|
|
104
104
|
#include <boost/unordered_map.hpp>
|
|
105
|
-
#include <boost/cregex.hpp>
|
|
106
105
|
#include <boost/regex.hpp>
|
|
107
106
|
#include <boost/pool/object_pool.hpp>
|
|
108
107
|
#include <boost/move/core.hpp>
|
|
109
108
|
#include <boost/move/utility.hpp>
|
|
110
109
|
#include <boost/atomic.hpp>
|
|
111
110
|
#include <boost/typeof/typeof.hpp>
|
|
112
|
-
#include <boost/asio.hpp>
|
|
113
|
-
#include <boost/pointer_cast.hpp>
|
|
114
111
|
#include <boost/circular_buffer.hpp>
|
|
112
|
+
#include <boost/config.hpp>
|
|
113
|
+
#include <boost/container/small_vector.hpp>
|
|
114
|
+
#include <boost/core/noncopyable.hpp>
|
|
115
|
+
#include <boost/cstdint.hpp>
|
|
116
|
+
#include <boost/current_function.hpp>
|
|
117
|
+
#include <boost/date_time/posix_time/posix_time_types.hpp>
|
|
118
|
+
#include <boost/move/move.hpp>
|
|
119
|
+
#include <boost/predef.h>
|
|
120
|
+
#include <boost/ref.hpp>
|
|
121
|
+
#include <boost/scoped_array.hpp>
|
|
122
|
+
#include <boost/scoped_ptr.hpp>
|
|
123
|
+
#include <boost/static_assert.hpp>
|
|
124
|
+
#include <boost/thread/mutex.hpp>
|
|
125
|
+
#include <boost/thread/tss.hpp>
|
|
126
|
+
// Included despite not used in Passenger
|
|
127
|
+
#include <boost/cregex.hpp>
|
|
128
|
+
#include <boost/pointer_cast.hpp>
|
|
129
|
+
#include <boost/asio.hpp>
|
|
115
130
|
}
|
|
116
131
|
|
|
117
132
|
require 'fileutils'
|
|
@@ -189,19 +204,19 @@ end
|
|
|
189
204
|
def copy_dependencies(cflags)
|
|
190
205
|
done = false
|
|
191
206
|
while !done
|
|
192
|
-
compiler_output = `c++ test.cpp -c -I. -I.. #{cflags} 2>&1`
|
|
207
|
+
compiler_output = `c++ test.cpp -c -I. -I.. #{cflags.join(" ")} 2>&1`
|
|
193
208
|
File.unlink('test.o') if File.exist?('test.o')
|
|
194
209
|
missing_headers = compiler_output.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
210
|
+
split("\n").
|
|
211
|
+
grep(/(error: .*: No such file|fatal error: '.*' file not found)/).
|
|
212
|
+
map do |line|
|
|
213
|
+
if line =~ /error: (.*): No such file/
|
|
214
|
+
file = $1
|
|
215
|
+
elsif line =~ /fatal error: '(.*)' file not found/
|
|
216
|
+
file = $1
|
|
217
|
+
else
|
|
218
|
+
abort "Bug"
|
|
219
|
+
end
|
|
205
220
|
if file =~ /^boost\//
|
|
206
221
|
file
|
|
207
222
|
else
|
|
@@ -230,8 +245,25 @@ def start
|
|
|
230
245
|
begin
|
|
231
246
|
prepare
|
|
232
247
|
copy_essential_files
|
|
233
|
-
|
|
234
|
-
|
|
248
|
+
[
|
|
249
|
+
"-std=c++98",
|
|
250
|
+
"-std=c++03",
|
|
251
|
+
"-std=gnu++98",
|
|
252
|
+
"-std=gnu++03",
|
|
253
|
+
"-std=c++11",
|
|
254
|
+
"-std=gnu++11",
|
|
255
|
+
"-std=c++14",
|
|
256
|
+
"-std=gnu++14",
|
|
257
|
+
"-std=c++17",
|
|
258
|
+
"-std=gnu++17",
|
|
259
|
+
"-std=c++20",
|
|
260
|
+
"-std=gnu++20",
|
|
261
|
+
"-std=c++0x",
|
|
262
|
+
"-std=gnu++0x",
|
|
263
|
+
""
|
|
264
|
+
].product(["-m32","-m64",""]).each do |flags|
|
|
265
|
+
copy_dependencies(flags)
|
|
266
|
+
end
|
|
235
267
|
ensure
|
|
236
268
|
cleanup
|
|
237
269
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
From b6d45a246a4461cd7eda420b471de50518cb42d8 Mon Sep 17 00:00:00 2001
|
|
2
|
+
From: Camden Narzt <camden@phusion.nl>
|
|
3
|
+
Date: Mon, 19 Jul 2021 12:31:15 -0600
|
|
4
|
+
Subject: [PATCH] fix compilation on gcc older than 4.5
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
.../websocketpp/websocketpp/common/functional.hpp | 9 ++-------
|
|
8
|
+
1 file changed, 2 insertions(+), 7 deletions(-)
|
|
9
|
+
|
|
10
|
+
diff --git a/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp b/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp
|
|
11
|
+
index d332dd15e..25ed93398 100644
|
|
12
|
+
--- a/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp
|
|
13
|
+
+++ b/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/functional.hpp
|
|
14
|
+
@@ -52,7 +52,7 @@
|
|
15
|
+
#ifdef _WEBSOCKETPP_CPP11_FUNCTIONAL_
|
|
16
|
+
#include <functional>
|
|
17
|
+
#else
|
|
18
|
+
- #include <boost/bind.hpp>
|
|
19
|
+
+ #include <boost/bind/bind.hpp>
|
|
20
|
+
#include <boost/function.hpp>
|
|
21
|
+
#include <boost/ref.hpp>
|
|
22
|
+
#endif
|
|
23
|
+
@@ -83,12 +83,7 @@ namespace lib {
|
|
24
|
+
using boost::function;
|
|
25
|
+
using boost::bind;
|
|
26
|
+
using boost::ref;
|
|
27
|
+
- namespace placeholders {
|
|
28
|
+
- /// \todo this feels hacky, is there a better way?
|
|
29
|
+
- using ::_1;
|
|
30
|
+
- using ::_2;
|
|
31
|
+
- using ::_3;
|
|
32
|
+
- }
|
|
33
|
+
+ namespace placeholders = boost::placeholders;
|
|
34
|
+
|
|
35
|
+
// See above definition for more details on what this is and why it exists
|
|
36
|
+
#define _WEBSOCKETPP_REF(x) boost::ref(x)
|
|
37
|
+
--
|
|
38
|
+
2.30.1 (Apple Git-130)
|
|
39
|
+
|
data/package.json
CHANGED
data/resources/mime.types
CHANGED
|
@@ -52,6 +52,7 @@ passenger_enabled on;
|
|
|
52
52
|
<%= nginx_option(app, :vary_turbocache_by_cookie) %>
|
|
53
53
|
<%= nginx_option(app, :meteor_app_settings) %>
|
|
54
54
|
<%= nginx_option(app, :load_shell_envvars) %>
|
|
55
|
+
<%= nginx_option(app, :preload_bundler) %>
|
|
55
56
|
<%= nginx_option(app, :app_file_descriptor_ulimit) %>
|
|
56
57
|
<%= nginx_option(app, :friendly_error_pages) %>
|
|
57
58
|
<%= nginx_option(app, :abort_websockets_on_process_shutdown) %>
|
|
@@ -255,6 +255,7 @@ Group::inspectConfigInAdminPanelFormat(Json::Value &result) const {
|
|
|
255
255
|
result["user_switching"] = VAL(options.userSwitching); // TODO: default value depends on integration mode and euid
|
|
256
256
|
result["file_descriptor_ulimit"] = VAL(options.fileDescriptorUlimit, 0u);
|
|
257
257
|
result["load_shell_envvars"] = VAL(options.loadShellEnvvars); // TODO: default value depends on integration mode
|
|
258
|
+
result["preload_bundler"] = VAL(options.preloadBundler);
|
|
258
259
|
result["max_request_queue_size"] = VAL(options.maxRequestQueueSize,
|
|
259
260
|
(Json::UInt) DEFAULT_MAX_REQUEST_QUEUE_SIZE);
|
|
260
261
|
result["max_requests"] = VAL((Json::UInt) options.maxRequests, 0u);
|
|
@@ -312,6 +312,10 @@ public:
|
|
|
312
312
|
*/
|
|
313
313
|
bool loadShellEnvvars;
|
|
314
314
|
|
|
315
|
+
/** Whether to tell Ruby to load bundler during spawning.
|
|
316
|
+
*/
|
|
317
|
+
bool preloadBundler;
|
|
318
|
+
|
|
315
319
|
bool userSwitching;
|
|
316
320
|
|
|
317
321
|
/**
|
|
@@ -460,6 +464,7 @@ public:
|
|
|
460
464
|
forceMaxConcurrentRequestsPerProcess(-1),
|
|
461
465
|
debugger(false),
|
|
462
466
|
loadShellEnvvars(true),
|
|
467
|
+
preloadBundler(false),
|
|
463
468
|
userSwitching(true),
|
|
464
469
|
raiseInternalError(false),
|
|
465
470
|
|
data/src/agent/Core/Config.h
CHANGED
|
@@ -164,7 +164,7 @@ using namespace std;
|
|
|
164
164
|
* security_update_checker_interval unsigned integer - default(86400)
|
|
165
165
|
* security_update_checker_proxy_url string - -
|
|
166
166
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
|
167
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
|
167
|
+
* server_software string - default("Phusion_Passenger/6.0.13")
|
|
168
168
|
* show_version_in_header boolean - default(true)
|
|
169
169
|
* single_app_mode_app_root string - default,read_only
|
|
170
170
|
* single_app_mode_app_start_command string - read_only
|
|
@@ -242,19 +242,25 @@ Controller::reportSessionCheckoutError(Client *client, Request *req,
|
|
|
242
242
|
writeOtherExceptionErrorResponse(client, req, e);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
|
|
246
|
-
Controller::
|
|
247
|
-
const boost::shared_ptr<RequestQueueFullException> &e)
|
|
245
|
+
int
|
|
246
|
+
Controller::lookupCodeFromHeader(Request *req, const char* header, int statusCode)
|
|
248
247
|
{
|
|
249
|
-
|
|
250
|
-
const LString *value = req->secureHeaders.lookup(
|
|
251
|
-
"!~PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE");
|
|
252
|
-
int requestQueueOverflowStatusCode = 503;
|
|
248
|
+
const LString *value = req->secureHeaders.lookup(header);
|
|
253
249
|
if (value != NULL && value->size > 0) {
|
|
254
250
|
value = psg_lstr_make_contiguous(value, req->pool);
|
|
255
|
-
|
|
251
|
+
statusCode = stringToInt(
|
|
256
252
|
StaticString(value->start->data, value->size));
|
|
257
253
|
}
|
|
254
|
+
return statusCode;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
void
|
|
258
|
+
Controller::writeRequestQueueFullExceptionErrorResponse(Client *client, Request *req,
|
|
259
|
+
const boost::shared_ptr<RequestQueueFullException> &e)
|
|
260
|
+
{
|
|
261
|
+
TRACE_POINT();
|
|
262
|
+
|
|
263
|
+
int requestQueueOverflowStatusCode = lookupCodeFromHeader(req, "!~PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE", 503);
|
|
258
264
|
|
|
259
265
|
SKC_WARN(client, "Returning HTTP " << requestQueueOverflowStatusCode <<
|
|
260
266
|
" due to: " << e->what());
|
|
@@ -271,15 +277,20 @@ Controller::writeSpawnExceptionErrorResponse(Client *client, Request *req,
|
|
|
271
277
|
const boost::shared_ptr<SpawningKit::SpawnException> &e)
|
|
272
278
|
{
|
|
273
279
|
TRACE_POINT();
|
|
280
|
+
int spawnExceptionStatusCode = lookupCodeFromHeader(req, "!~PASSENGER_SPAWN_EXCEPTION_STATUS_CODE", 500);
|
|
274
281
|
SKC_ERROR(client, "Cannot checkout session because a spawning error occurred. " <<
|
|
275
282
|
"The identifier of the error is " << e->getId() << ". Please see earlier logs for " <<
|
|
276
283
|
"details about the error.");
|
|
277
|
-
endRequestWithErrorResponse(&client, &req, *e);
|
|
284
|
+
endRequestWithErrorResponse(&client, &req, *e, spawnExceptionStatusCode);
|
|
278
285
|
}
|
|
279
286
|
|
|
280
287
|
void
|
|
281
288
|
Controller::writeOtherExceptionErrorResponse(Client *client, Request *req, const ExceptionPtr &e) {
|
|
282
289
|
TRACE_POINT();
|
|
290
|
+
|
|
291
|
+
// ATM "other" exceptions always return a spawn exception error message, so use the matching status code
|
|
292
|
+
int otherExceptionStatusCode = lookupCodeFromHeader(req, "!~PASSENGER_SPAWN_EXCEPTION_STATUS_CODE", 500);
|
|
293
|
+
|
|
283
294
|
string typeName;
|
|
284
295
|
const oxt::tracable_exception &eptr = *e;
|
|
285
296
|
#ifdef CXX_ABI_API_AVAILABLE
|
|
@@ -324,16 +335,16 @@ Controller::writeOtherExceptionErrorResponse(Client *client, Request *req, const
|
|
|
324
335
|
}
|
|
325
336
|
pos = appendData(pos, end, "</p>");
|
|
326
337
|
|
|
327
|
-
endRequestWithSimpleResponse(&client, &req, StaticString(buf, pos - buf),
|
|
338
|
+
endRequestWithSimpleResponse(&client, &req, StaticString(buf, pos - buf), otherExceptionStatusCode);
|
|
328
339
|
} else {
|
|
329
340
|
endRequestWithSimpleResponse(&client, &req, "<h2>Internal server error</h2>"
|
|
330
|
-
"Application could not be started. Please try again later.",
|
|
341
|
+
"Application could not be started. Please try again later.", otherExceptionStatusCode);
|
|
331
342
|
}
|
|
332
343
|
}
|
|
333
344
|
|
|
334
345
|
void
|
|
335
346
|
Controller::endRequestWithErrorResponse(Client **c, Request **r,
|
|
336
|
-
const SpawningKit::SpawnException &e)
|
|
347
|
+
const SpawningKit::SpawnException &e, int statusCode)
|
|
337
348
|
{
|
|
338
349
|
TRACE_POINT();
|
|
339
350
|
Client *client = *c;
|
|
@@ -359,7 +370,7 @@ Controller::endRequestWithErrorResponse(Client **c, Request **r,
|
|
|
359
370
|
}
|
|
360
371
|
}
|
|
361
372
|
|
|
362
|
-
endRequestWithSimpleResponse(c, r, psg_pstrdup(req->pool, data),
|
|
373
|
+
endRequestWithSimpleResponse(c, r, psg_pstrdup(req->pool, data), statusCode);
|
|
363
374
|
}
|
|
364
375
|
|
|
365
376
|
bool
|
|
@@ -115,7 +115,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
|
|
|
115
115
|
* multi_app boolean - default(true),read_only
|
|
116
116
|
* request_freelist_limit unsigned integer - default(1024)
|
|
117
117
|
* response_buffer_high_watermark unsigned integer - default(134217728)
|
|
118
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
|
118
|
+
* server_software string - default("Phusion_Passenger/6.0.13")
|
|
119
119
|
* show_version_in_header boolean - default(true)
|
|
120
120
|
* start_reading_after_accept boolean - default(true)
|
|
121
121
|
* stat_throttle_rate unsigned integer - default(10)
|
|
@@ -165,6 +165,7 @@ private:
|
|
|
165
165
|
add("default_spawn_method", STRING_TYPE, OPTIONAL, DEFAULT_SPAWN_METHOD);
|
|
166
166
|
add("default_bind_address", STRING_TYPE, OPTIONAL, DEFAULT_BIND_ADDRESS);
|
|
167
167
|
add("default_load_shell_envvars", BOOL_TYPE, OPTIONAL, false);
|
|
168
|
+
add("default_preload_bundler", BOOL_TYPE, OPTIONAL, false);
|
|
168
169
|
add("default_meteor_app_settings", STRING_TYPE, OPTIONAL);
|
|
169
170
|
add("default_app_file_descriptor_ulimit", UINT_TYPE, OPTIONAL);
|
|
170
171
|
add("default_min_instances", UINT_TYPE, OPTIONAL, 1);
|
|
@@ -440,6 +441,7 @@ public:
|
|
|
440
441
|
bool showVersionInHeader: 1;
|
|
441
442
|
bool defaultAbortWebsocketsOnProcessShutdown;
|
|
442
443
|
bool defaultLoadShellEnvvars;
|
|
444
|
+
bool defaultPreloadBundler;
|
|
443
445
|
|
|
444
446
|
/*******************/
|
|
445
447
|
/*******************/
|
|
@@ -473,7 +475,8 @@ public:
|
|
|
473
475
|
defaultForceMaxConcurrentRequestsPerProcess(config["default_force_max_concurrent_requests_per_process"].asInt()),
|
|
474
476
|
showVersionInHeader(config["show_version_in_header"].asBool()),
|
|
475
477
|
defaultAbortWebsocketsOnProcessShutdown(config["default_abort_websockets_on_process_shutdown"].asBool()),
|
|
476
|
-
defaultLoadShellEnvvars(config["default_load_shell_envvars"].asBool())
|
|
478
|
+
defaultLoadShellEnvvars(config["default_load_shell_envvars"].asBool()),
|
|
479
|
+
defaultPreloadBundler(config["default_preload_bundler"].asBool())
|
|
477
480
|
|
|
478
481
|
/*******************/
|
|
479
482
|
{ }
|
|
@@ -202,6 +202,7 @@ Controller::fillPoolOptionsFromConfigCaches(Options &options,
|
|
|
202
202
|
options.spawnMethod = requestConfig->defaultSpawnMethod;
|
|
203
203
|
options.bindAddress = requestConfig->defaultBindAddress;
|
|
204
204
|
options.loadShellEnvvars = requestConfig->defaultLoadShellEnvvars;
|
|
205
|
+
options.preloadBundler = requestConfig->defaultPreloadBundler;
|
|
205
206
|
options.statThrottleRate = mainConfig.statThrottleRate;
|
|
206
207
|
options.maxRequests = requestConfig->defaultMaxRequests;
|
|
207
208
|
options.stickySessionsCookieAttributes = requestConfig->defaultStickySessionsCookieAttributes;
|
|
@@ -378,6 +379,7 @@ Controller::createNewPoolOptions(Client *client, Request *req,
|
|
|
378
379
|
fillPoolOption(req, options.restartDir, "!~PASSENGER_RESTART_DIR");
|
|
379
380
|
fillPoolOption(req, options.startupFile, "!~PASSENGER_STARTUP_FILE");
|
|
380
381
|
fillPoolOption(req, options.loadShellEnvvars, "!~PASSENGER_LOAD_SHELL_ENVVARS");
|
|
382
|
+
fillPoolOption(req, options.preloadBundler, "!~PASSENGER_PRELOAD_BUNDLER");
|
|
381
383
|
fillPoolOption(req, options.fileDescriptorUlimit, "!~PASSENGER_APP_FILE_DESCRIPTOR_ULIMIT");
|
|
382
384
|
fillPoolOption(req, options.raiseInternalError, "!~PASSENGER_RAISE_INTERNAL_ERROR");
|
|
383
385
|
fillPoolOption(req, options.lveMinUid, "!~PASSENGER_LVE_MIN_UID");
|
|
@@ -96,7 +96,7 @@ Controller::endRequestWithAppSocketIncompleteResponse(Client **client, Request *
|
|
|
96
96
|
SKC_WARN(*client, "Sending 502 response: application did not send a complete response");
|
|
97
97
|
}
|
|
98
98
|
endRequestWithSimpleResponse(client, req,
|
|
99
|
-
"
|
|
99
|
+
getFormattedMessage(*req, "Incomplete response received from application"), 502);
|
|
100
100
|
} else {
|
|
101
101
|
disconnectWithAppSocketIncompleteResponseError(client);
|
|
102
102
|
}
|
|
@@ -107,12 +107,39 @@ Controller::endRequestWithAppSocketReadError(Client **client, Request **req, int
|
|
|
107
107
|
Client *c = *client;
|
|
108
108
|
if (!(*req)->responseBegun) {
|
|
109
109
|
SKC_WARN(*client, "Sending 502 response: application socket read error");
|
|
110
|
-
endRequestWithSimpleResponse(client, req,
|
|
110
|
+
endRequestWithSimpleResponse(client, req,
|
|
111
|
+
getFormattedMessage(*req, "Application socket read error"), 502);
|
|
111
112
|
} else {
|
|
112
113
|
disconnectWithAppSocketReadError(&c, e);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
|
|
117
|
+
ServerKit::HeaderTable
|
|
118
|
+
Controller::getHeadersWithContentType(Request *req)
|
|
119
|
+
{
|
|
120
|
+
ServerKit::HeaderTable headers;
|
|
121
|
+
const LString *value = req->headers.lookup(P_STATIC_STRING("content-type"));
|
|
122
|
+
if (value != NULL) {
|
|
123
|
+
if (psg_lstr_cmp(value, P_STATIC_STRING("application/json"))) {
|
|
124
|
+
headers.insert(req->pool, "content-type", "application/json");
|
|
125
|
+
}
|
|
126
|
+
// Here we can extend setting `content-type` with more supported formats, ie: xml,...
|
|
127
|
+
}
|
|
128
|
+
return headers;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const StaticString
|
|
132
|
+
Controller::getFormattedMessage(Request *req, const StaticString &body)
|
|
133
|
+
{
|
|
134
|
+
const LString *value = req->headers.lookup(P_STATIC_STRING("content-type"));
|
|
135
|
+
if (value != NULL) {
|
|
136
|
+
if (psg_lstr_cmp(value, P_STATIC_STRING("application/json"))) {
|
|
137
|
+
return "{\"status\":\"error\", \"message\": \""+body+"\"}";
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return "<h1>"+body+"</h1>";
|
|
141
|
+
}
|
|
142
|
+
|
|
116
143
|
/**
|
|
117
144
|
* `data` must outlive the request.
|
|
118
145
|
*/
|
|
@@ -122,8 +149,7 @@ Controller::endRequestWithSimpleResponse(Client **c, Request **r,
|
|
|
122
149
|
{
|
|
123
150
|
Client *client = *c;
|
|
124
151
|
Request *req = *r;
|
|
125
|
-
ServerKit::HeaderTable headers;
|
|
126
|
-
|
|
152
|
+
ServerKit::HeaderTable headers = getHeadersWithContentType(req);
|
|
127
153
|
headers.insert(req->pool, "cache-control", "no-cache, no-store, must-revalidate");
|
|
128
154
|
writeSimpleResponse(client, code, &headers, body);
|
|
129
155
|
endRequest(c, r);
|
|
@@ -134,9 +160,9 @@ Controller::endRequestAsBadGateway(Client **client, Request **req) {
|
|
|
134
160
|
if ((*req)->responseBegun) {
|
|
135
161
|
disconnectWithError(client, "bad gateway");
|
|
136
162
|
} else {
|
|
137
|
-
ServerKit::HeaderTable headers;
|
|
163
|
+
ServerKit::HeaderTable headers = getHeadersWithContentType(*req);
|
|
138
164
|
headers.insert((*req)->pool, "cache-control", "no-cache, no-store, must-revalidate");
|
|
139
|
-
writeSimpleResponse(*client, 502, &headers, "
|
|
165
|
+
writeSimpleResponse(*client, 502, &headers, getFormattedMessage(*req, "Bad Gateway"));
|
|
140
166
|
endRequest(client, req);
|
|
141
167
|
}
|
|
142
168
|
}
|
data/src/agent/Core/Controller.h
CHANGED
|
@@ -207,6 +207,7 @@ private:
|
|
|
207
207
|
static void checkoutSessionLater(Request *req);
|
|
208
208
|
void reportSessionCheckoutError(Client *client, Request *req,
|
|
209
209
|
const ExceptionPtr &e);
|
|
210
|
+
int lookupCodeFromHeader(Request *req, const char* header, int statusCode);
|
|
210
211
|
void writeRequestQueueFullExceptionErrorResponse(Client *client,
|
|
211
212
|
Request *req, const boost::shared_ptr<RequestQueueFullException> &e);
|
|
212
213
|
void writeSpawnExceptionErrorResponse(Client *client, Request *req,
|
|
@@ -214,7 +215,7 @@ private:
|
|
|
214
215
|
void writeOtherExceptionErrorResponse(Client *client, Request *req,
|
|
215
216
|
const ExceptionPtr &e);
|
|
216
217
|
void endRequestWithErrorResponse(Client **c, Request **r,
|
|
217
|
-
const SpawningKit::SpawnException &e);
|
|
218
|
+
const SpawningKit::SpawnException &e, int statusCode);
|
|
218
219
|
bool friendlyErrorPagesEnabled(Request *req);
|
|
219
220
|
|
|
220
221
|
|
|
@@ -313,6 +314,8 @@ private:
|
|
|
313
314
|
Request **req);
|
|
314
315
|
void endRequestWithAppSocketReadError(Client **client, Request **req,
|
|
315
316
|
int e);
|
|
317
|
+
ServerKit::HeaderTable getHeadersWithContentType(Request *req);
|
|
318
|
+
const StaticString getFormattedMessage(Request *req, const StaticString &body);
|
|
316
319
|
void endRequestWithSimpleResponse(Client **c, Request **r,
|
|
317
320
|
const StaticString &body, int code = 200);
|
|
318
321
|
void endRequestAsBadGateway(Client **client, Request **req);
|
|
@@ -115,6 +115,7 @@ coreUsage() {
|
|
|
115
115
|
printf(" --spawn-method NAME Spawn method to use. Can either be 'smart' or\n");
|
|
116
116
|
printf(" 'direct'. Default: %s\n", DEFAULT_SPAWN_METHOD);
|
|
117
117
|
printf(" --load-shell-envvars Load shell startup files before loading application\n");
|
|
118
|
+
printf(" --preload-bundler Tell Ruby to load bundler gem before loading application\n");
|
|
118
119
|
printf(" --concurrency-model The concurrency model to use for the app, either\n");
|
|
119
120
|
printf(" 'process' or 'thread' (Enterprise only).\n");
|
|
120
121
|
printf(" Default: " DEFAULT_CONCURRENCY_MODEL "\n");
|
|
@@ -332,6 +333,9 @@ parseCoreOption(int argc, const char *argv[], int &i, Json::Value &updates) {
|
|
|
332
333
|
} else if (p.isFlag(argv[i], '\0', "--load-shell-envvars")) {
|
|
333
334
|
updates["default_load_shell_envvars"] = true;
|
|
334
335
|
i++;
|
|
336
|
+
} else if (p.isFlag(argv[i], '\0', "--preload-bundler")) {
|
|
337
|
+
updates["default_preload_bundler"] = true;
|
|
338
|
+
i++;
|
|
335
339
|
} else if (p.isFlag(argv[i], '\0', "--multi-app")) {
|
|
336
340
|
updates["multi_app"] = true;
|
|
337
341
|
i++;
|
|
@@ -258,6 +258,7 @@ Passenger::SpawningKit::Config::validate(vector<StaticString> &errors) const {
|
|
|
258
258
|
* startsUsingWrapper
|
|
259
259
|
* wrapperSuppliedByThirdParty
|
|
260
260
|
* findFreePort
|
|
261
|
+
* preloadBundler
|
|
261
262
|
* loadShellEnvvars
|
|
262
263
|
* debugWorkDir
|
|
263
264
|
* processTitle
|
|
@@ -287,6 +288,9 @@ Passenger::SpawningKit::Config::getConfidentialFieldsToPassToApp() const {
|
|
|
287
288
|
if (!config.genericApp && config.startsUsingWrapper) {
|
|
288
289
|
doc["wrapper_supplied_by_third_party"] = wrapperSuppliedByThirdParty;
|
|
289
290
|
}
|
|
291
|
+
if (config.appType == "ruby") {
|
|
292
|
+
doc["preload_bundler"] = preloadBundler;
|
|
293
|
+
}
|
|
290
294
|
doc["load_shell_envvars"] = loadShellEnvvars;
|
|
291
295
|
doc["start_command"] = startCommand.toString();
|
|
292
296
|
if (!config.genericApp && config.startsUsingWrapper) {
|
|
@@ -341,6 +345,9 @@ Passenger::SpawningKit::Config::getNonConfidentialFieldsToPassToApp() const {
|
|
|
341
345
|
if (!config.genericApp && config.startsUsingWrapper) {
|
|
342
346
|
doc["wrapper_supplied_by_third_party"] = wrapperSuppliedByThirdParty;
|
|
343
347
|
}
|
|
348
|
+
if (config.appType == "ruby") {
|
|
349
|
+
doc["preload_bundler"] = preloadBundler;
|
|
350
|
+
}
|
|
344
351
|
doc["load_shell_envvars"] = loadShellEnvvars;
|
|
345
352
|
doc["start_command"] = startCommand.toString();
|
|
346
353
|
if (!config.genericApp && config.startsUsingWrapper) {
|