passenger 6.0.23 → 6.0.24
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.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG +26 -1
- data/Rakefile +7 -3
- data/bin/passenger-install-apache2-module +5 -0
- data/bin/passenger-install-nginx-module +17 -2
- data/build/apache2.rb +1 -1
- data/build/basics.rb +10 -4
- data/build/cxx_tests.rb +18 -7
- data/build/support/cxx_dependency_map.rb +40 -6
- data/build/test_basics.rb +4 -12
- data/package.json +1 -1
- data/passenger.gemspec +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +63 -50
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +19 -9
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group.h +15 -5
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +11 -1
- data/src/agent/Core/ApplicationPool/Pool.h +0 -2
- data/src/agent/Core/ApplicationPool/Process.h +22 -6
- data/src/agent/Core/ApplicationPool/Session.h +6 -1
- data/src/agent/Core/Config.h +7 -3
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/CoreMain.cpp +10 -17
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -53
- data/src/agent/Core/SpawningKit/Handshake/Session.h +3 -0
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -2
- data/src/agent/Core/SpawningKit/Spawner.h +4 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +88 -9
- data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +9 -3
- data/src/agent/Shared/Fundamentals/Initialization.h +3 -3
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +6 -7
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -7
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +5 -3
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +3 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +2 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +0 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -3
- data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +0 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +15 -10
- data/src/cxx_supportlib/ServerKit/Server.h +0 -6
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -0
- data/src/cxx_supportlib/Utils/SpeedMeter.h +0 -3
- data/src/cxx_supportlib/oxt/implementation.cpp +11 -0
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -3
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +35 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +74 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +88 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +91 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +105 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +90 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl/co_composed.hpp → co_composed.hpp} +208 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +10 -201
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +214 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_message.hpp → detail/completion_message.hpp} +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_payload.hpp → detail/completion_payload.hpp} +30 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_handler.hpp → detail/completion_payload_handler.hpp} +15 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +44 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +20 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +29 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +17 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +45 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +60 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +26 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +16 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +13 -286
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +55 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +26 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +16 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +127 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +70 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +114 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +43 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +147 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +74 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +42 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +15 -37
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +151 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +611 -102
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +47 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +55 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +96 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +86 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +145 -65
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +105 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +30 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +19 -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 +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +45 -43
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +222 -73
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +53 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +141 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +22 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +111 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +12 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +32 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +0 -4
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils.rb +5 -15
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +21 -8
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
2
|
// Copyright (C) 2022 Christian Mazakas
|
3
|
+
// Copyright (C) 2024 Braden Ganetsky
|
3
4
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
4
5
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
5
6
|
|
@@ -15,6 +16,10 @@
|
|
15
16
|
#include <functional>
|
16
17
|
#include <memory>
|
17
18
|
|
19
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
20
|
+
#include <memory_resource>
|
21
|
+
#endif
|
22
|
+
|
18
23
|
namespace boost {
|
19
24
|
namespace unordered {
|
20
25
|
template <class Key, class T, class Hash = boost::hash<Key>,
|
@@ -36,6 +41,16 @@ namespace boost {
|
|
36
41
|
void swap(unordered_node_map<Key, T, Hash, KeyEqual, Allocator>& lhs,
|
37
42
|
unordered_node_map<Key, T, Hash, KeyEqual, Allocator>& rhs)
|
38
43
|
noexcept(noexcept(lhs.swap(rhs)));
|
44
|
+
|
45
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
46
|
+
namespace pmr {
|
47
|
+
template <class Key, class T, class Hash = boost::hash<Key>,
|
48
|
+
class KeyEqual = std::equal_to<Key> >
|
49
|
+
using unordered_node_map =
|
50
|
+
boost::unordered::unordered_node_map<Key, T, Hash, KeyEqual,
|
51
|
+
std::pmr::polymorphic_allocator<std::pair<const Key, T> > >;
|
52
|
+
} // namespace pmr
|
53
|
+
#endif
|
39
54
|
} // namespace unordered
|
40
55
|
|
41
56
|
using boost::unordered::unordered_node_map;
|
@@ -105,6 +105,10 @@ namespace boost {
|
|
105
105
|
using insert_return_type =
|
106
106
|
detail::foa::insert_return_type<iterator, node_type>;
|
107
107
|
|
108
|
+
#if defined(BOOST_UNORDERED_ENABLE_STATS)
|
109
|
+
using stats = typename table_type::stats;
|
110
|
+
#endif
|
111
|
+
|
108
112
|
unordered_node_set() : unordered_node_set(0) {}
|
109
113
|
|
110
114
|
explicit unordered_node_set(size_type n, hasher const& h = hasher(),
|
@@ -563,6 +567,14 @@ namespace boost {
|
|
563
567
|
|
564
568
|
void reserve(size_type n) { table_.reserve(n); }
|
565
569
|
|
570
|
+
#if defined(BOOST_UNORDERED_ENABLE_STATS)
|
571
|
+
/// Stats
|
572
|
+
///
|
573
|
+
stats get_stats() const { return table_.get_stats(); }
|
574
|
+
|
575
|
+
void reset_stats() noexcept { table_.reset_stats(); }
|
576
|
+
#endif
|
577
|
+
|
566
578
|
/// Observers
|
567
579
|
///
|
568
580
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
2
|
// Copyright (C) 2023 Christian Mazakas
|
3
|
+
// Copyright (C) 2024 Braden Ganetsky
|
3
4
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
4
5
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
5
6
|
|
@@ -15,6 +16,10 @@
|
|
15
16
|
#include <functional>
|
16
17
|
#include <memory>
|
17
18
|
|
19
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
20
|
+
#include <memory_resource>
|
21
|
+
#endif
|
22
|
+
|
18
23
|
namespace boost {
|
19
24
|
namespace unordered {
|
20
25
|
template <class Key, class Hash = boost::hash<Key>,
|
@@ -36,6 +41,15 @@ namespace boost {
|
|
36
41
|
void swap(unordered_node_set<Key, Hash, KeyEqual, Allocator>& lhs,
|
37
42
|
unordered_node_set<Key, Hash, KeyEqual, Allocator>& rhs)
|
38
43
|
noexcept(noexcept(lhs.swap(rhs)));
|
44
|
+
|
45
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
46
|
+
namespace pmr {
|
47
|
+
template <class Key, class Hash = boost::hash<Key>,
|
48
|
+
class KeyEqual = std::equal_to<Key> >
|
49
|
+
using unordered_node_set = boost::unordered::unordered_node_set<Key, Hash,
|
50
|
+
KeyEqual, std::pmr::polymorphic_allocator<Key> >;
|
51
|
+
} // namespace pmr
|
52
|
+
#endif
|
39
53
|
} // namespace unordered
|
40
54
|
|
41
55
|
using boost::unordered::unordered_node_set;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
|
2
2
|
// Copyright (C) 2008-2011 Daniel James.
|
3
3
|
// Copyright (C) 2022 Christian Mazakas
|
4
|
+
// Copyright (C) 2024 Braden Ganetsky
|
4
5
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
5
6
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
6
7
|
|
@@ -16,6 +17,10 @@
|
|
16
17
|
#include <functional>
|
17
18
|
#include <memory>
|
18
19
|
|
20
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
21
|
+
#include <memory_resource>
|
22
|
+
#endif
|
23
|
+
|
19
24
|
namespace boost {
|
20
25
|
namespace unordered {
|
21
26
|
template <class T, class H = boost::hash<T>, class P = std::equal_to<T>,
|
@@ -56,6 +61,18 @@ namespace boost {
|
|
56
61
|
|
57
62
|
template <class N, class T, class A> class node_handle_set;
|
58
63
|
template <class Iter, class NodeType> struct insert_return_type_set;
|
64
|
+
|
65
|
+
#ifndef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
66
|
+
namespace pmr {
|
67
|
+
template <class T, class H = boost::hash<T>, class P = std::equal_to<T> >
|
68
|
+
using unordered_set = boost::unordered::unordered_set<T, H, P,
|
69
|
+
std::pmr::polymorphic_allocator<T> >;
|
70
|
+
|
71
|
+
template <class T, class H = boost::hash<T>, class P = std::equal_to<T> >
|
72
|
+
using unordered_multiset = boost::unordered::unordered_multiset<T, H, P,
|
73
|
+
std::pmr::polymorphic_allocator<T> >;
|
74
|
+
} // namespace pmr
|
75
|
+
#endif
|
59
76
|
} // namespace unordered
|
60
77
|
|
61
78
|
using boost::unordered::unordered_multiset;
|
@@ -11,48 +11,6 @@
|
|
11
11
|
// An implementation of minstd_rand that does not require
|
12
12
|
// the Random library
|
13
13
|
|
14
|
-
#include <boost/
|
15
|
-
|
16
|
-
namespace boost
|
17
|
-
{
|
18
|
-
namespace detail
|
19
|
-
{
|
20
|
-
|
21
|
-
class minstd_rand
|
22
|
-
{
|
23
|
-
private:
|
24
|
-
|
25
|
-
boost::uint_least32_t x_;
|
26
|
-
|
27
|
-
enum { a = 48271, m = 2147483647 };
|
28
|
-
|
29
|
-
public:
|
30
|
-
|
31
|
-
minstd_rand(): x_( 1 )
|
32
|
-
{
|
33
|
-
}
|
34
|
-
|
35
|
-
explicit minstd_rand( boost::uint_least32_t x ): x_( x % m )
|
36
|
-
{
|
37
|
-
if( x_ == 0 )
|
38
|
-
{
|
39
|
-
x_ = 1;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
boost::uint_least32_t operator()()
|
44
|
-
{
|
45
|
-
boost::uint_least64_t y = x_;
|
46
|
-
|
47
|
-
y = ( a * y ) % m;
|
48
|
-
|
49
|
-
x_ = static_cast<boost::uint_least32_t>( y );
|
50
|
-
|
51
|
-
return x_;
|
52
|
-
}
|
53
|
-
};
|
54
|
-
|
55
|
-
} // namespace detail
|
56
|
-
} // namespace boost
|
14
|
+
#include <boost/core/detail/minstd_rand.hpp>
|
57
15
|
|
58
16
|
#endif // #ifndef BOOST_UTILITY_DETAIL_MINSTD_RAND_HPP_INCLUDED
|
@@ -19,7 +19,7 @@
|
|
19
19
|
// BOOST_VERSION / 100 % 1000 is the minor version
|
20
20
|
// BOOST_VERSION / 100000 is the major version
|
21
21
|
|
22
|
-
#define BOOST_VERSION
|
22
|
+
#define BOOST_VERSION 108600
|
23
23
|
|
24
24
|
//
|
25
25
|
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
@@ -27,6 +27,6 @@
|
|
27
27
|
// number, y is the minor version number, and z is the patch level if not 0.
|
28
28
|
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
29
29
|
|
30
|
-
#define BOOST_LIB_VERSION "
|
30
|
+
#define BOOST_LIB_VERSION "1_86"
|
31
31
|
|
32
32
|
#endif
|
@@ -39,7 +39,8 @@ module PhusionPassenger
|
|
39
39
|
:colorize => :auto,
|
40
40
|
:force_tip => true,
|
41
41
|
:connect_timeout => 30,
|
42
|
-
:idle_timeout => 30
|
42
|
+
:idle_timeout => 30,
|
43
|
+
:address_sanitizer => false,
|
43
44
|
}
|
44
45
|
parse_options
|
45
46
|
initialize_objects
|
@@ -70,7 +71,7 @@ module PhusionPassenger
|
|
70
71
|
opts.on("--nginx-tarball PATH", String, "Use the given Nginx tarball instead of#{nl}" +
|
71
72
|
"downloading it. You MUST also specify the#{nl}" +
|
72
73
|
"Nginx version with --nginx-version") do |val|
|
73
|
-
options[:nginx_tarball] = val
|
74
|
+
options[:nginx_tarball] = File.absolute_path(val)
|
74
75
|
end
|
75
76
|
opts.on("-f", "--force", "Skip sanity checks") do
|
76
77
|
options[:force] = true
|
@@ -88,6 +89,9 @@ module PhusionPassenger
|
|
88
89
|
opts.on("--idle-timeout SECONDS", Integer, "The maximum idle read time. Default: 30") do |val|
|
89
90
|
options[:idle_timeout] = val
|
90
91
|
end
|
92
|
+
opts.on("--address-sanitizer", "Compile with AddressSanitizer support") do
|
93
|
+
options[:address_sanitizer] = true
|
94
|
+
end
|
91
95
|
opts.on("-h", "--help", "Show this help") do
|
92
96
|
options[:help] = true
|
93
97
|
end
|
@@ -272,11 +272,21 @@ module PhusionPassenger
|
|
272
272
|
args << "--nginx-tarball"
|
273
273
|
args << @options[:nginx_tarball]
|
274
274
|
end
|
275
|
+
# The agent and the support libraries are compiled through Rake, which
|
276
|
+
# already supports $USE_ASAN, so it makes sense to use that environment
|
277
|
+
# variable here as well rather than introducing a CLI flag.
|
278
|
+
if boolean_option('USE_ASAN')
|
279
|
+
args << "--address-sanitizer"
|
280
|
+
end
|
275
281
|
CompileNginxEngineCommand.new(args).run
|
276
282
|
else
|
277
283
|
abort "No precompiled Nginx engine could be downloaded. Refusing to compile because --no-compile is given."
|
278
284
|
end
|
279
285
|
end
|
286
|
+
|
287
|
+
def boolean_option(env_name)
|
288
|
+
["true", "on", "yes", "1"].include?(ENV[env_name])
|
289
|
+
end
|
280
290
|
end
|
281
291
|
|
282
292
|
end # module Config
|
@@ -44,11 +44,19 @@ module PhusionPassenger
|
|
44
44
|
class NginxEngineCompiler < AbstractInstaller
|
45
45
|
include InstallationUtils
|
46
46
|
|
47
|
-
def self.configure_script_options
|
48
|
-
extra_cflags =
|
47
|
+
def self.configure_script_options(address_sanitizer: false)
|
48
|
+
extra_cflags = [
|
49
|
+
"-Wno-error",
|
50
|
+
PlatformInfo.openssl_extra_cflags,
|
51
|
+
PlatformInfo.pcre_extra_cflags,
|
52
|
+
].compact.join(" ").strip
|
49
53
|
result = "--with-cc-opt=#{Shellwords.escape extra_cflags} "
|
50
54
|
|
51
|
-
extra_ldflags =
|
55
|
+
extra_ldflags = [
|
56
|
+
PlatformInfo.openssl_extra_ldflags,
|
57
|
+
PlatformInfo.pcre_extra_ldflags,
|
58
|
+
address_sanitizer ? PlatformInfo.address_sanitizer_flags : nil,
|
59
|
+
].compact.join(" ").strip
|
52
60
|
if !extra_ldflags.empty?
|
53
61
|
result << "--with-ld-opt=#{Shellwords.escape extra_ldflags} "
|
54
62
|
end
|
@@ -339,7 +347,7 @@ module PhusionPassenger
|
|
339
347
|
# work around the problem by configure Nginx with prefix
|
340
348
|
# /tmp.
|
341
349
|
command << "#{shell} ./configure --prefix=/tmp " +
|
342
|
-
"#{self.class.configure_script_options} " +
|
350
|
+
"#{self.class.configure_script_options(address_sanitizer: @address_sanitizer)} " +
|
343
351
|
"--add-module=#{Shellwords.escape PhusionPassenger.nginx_module_source_dir}"
|
344
352
|
run_command_yield_activity(command) do
|
345
353
|
yield
|
@@ -142,8 +142,6 @@ module PhusionPassenger
|
|
142
142
|
private_class_method :cc_or_cxx_supports_feliminate_unused_debug?
|
143
143
|
|
144
144
|
def self.cc_or_cxx_supports_blocks?(language)
|
145
|
-
ext = detect_language_extension(language)
|
146
|
-
compiler_type_name = detect_compiler_type_name(language)
|
147
145
|
command = create_compiler_command(language,"-E -dM",'- </dev/null')
|
148
146
|
result = `#{command}`
|
149
147
|
return result.include? "__BLOCKS__"
|
@@ -360,6 +358,13 @@ module PhusionPassenger
|
|
360
358
|
end
|
361
359
|
memoize :cc_supports_fno_limit_debug_info_flag?
|
362
360
|
|
361
|
+
def self.cc_supports_fno_optimize_sibling_calls_flag?
|
362
|
+
try_compile_with_warning_flag(
|
363
|
+
"Checking for C compiler '-fno-optimize-sibling-calls' support",
|
364
|
+
:c, '', '-fno-optimize-sibling-calls')
|
365
|
+
end
|
366
|
+
memoize :cc_supports_fno_optimize_sibling_calls_flag?
|
367
|
+
|
363
368
|
def self.cxx_supports_visibility_flag?
|
364
369
|
return false if os_name_simple == "aix"
|
365
370
|
return try_compile("Checking for C++ compiler '-fvisibility' support",
|
@@ -430,6 +435,13 @@ module PhusionPassenger
|
|
430
435
|
end
|
431
436
|
memoize :cxx_supports_fno_limit_debug_info_flag?
|
432
437
|
|
438
|
+
def self.cxx_supports_fno_optimize_sibling_calls_flag?
|
439
|
+
try_compile_with_warning_flag(
|
440
|
+
"Checking for C++ compiler '-fno-optimize-sibling-calls' support",
|
441
|
+
:cxx, '', '-fno-optimize-sibling-calls')
|
442
|
+
end
|
443
|
+
memoize :cxx_supports_fno_optimize_sibling_calls_flag?
|
444
|
+
|
433
445
|
def self.cc_supports_no_tls_direct_seg_refs_option?
|
434
446
|
return try_compile("Checking for C compiler '-mno-tls-direct-seg-refs' support",
|
435
447
|
:c, '', '-mno-tls-direct-seg-refs')
|
@@ -493,10 +505,10 @@ module PhusionPassenger
|
|
493
505
|
end
|
494
506
|
memoize :cxx_visibility_flag_generates_warnings?, true
|
495
507
|
|
496
|
-
def self.
|
508
|
+
def self.address_sanitizer_flags
|
497
509
|
if cc_is_clang?
|
498
510
|
if `#{cc} --help` =~ /-fsanitize=/
|
499
|
-
"-fsanitize=address"
|
511
|
+
"-fsanitize=address -fsanitize-address-use-after-return=always -fsanitize-address-use-after-scope"
|
500
512
|
else
|
501
513
|
"-faddress-sanitizer"
|
502
514
|
end
|
@@ -504,7 +516,14 @@ module PhusionPassenger
|
|
504
516
|
nil
|
505
517
|
end
|
506
518
|
end
|
507
|
-
|
519
|
+
|
520
|
+
def self.undefined_behavior_sanitizer_flags
|
521
|
+
if cc_is_clang?
|
522
|
+
"-fsanitize=undefined"
|
523
|
+
else
|
524
|
+
nil
|
525
|
+
end
|
526
|
+
end
|
508
527
|
|
509
528
|
def self.cxx_11_flag
|
510
529
|
# C++11 support on FreeBSD 10.0 + Clang seems to be bugged.
|
@@ -603,6 +622,14 @@ module PhusionPassenger
|
|
603
622
|
end
|
604
623
|
end
|
605
624
|
|
625
|
+
def self.precompiled_header_extension
|
626
|
+
if cxx_is_gcc?
|
627
|
+
'gch'
|
628
|
+
else
|
629
|
+
'pch'
|
630
|
+
end
|
631
|
+
end
|
632
|
+
|
606
633
|
|
607
634
|
def self.make
|
608
635
|
return string_env('MAKE', find_command('make'))
|
@@ -93,15 +93,11 @@ module PhusionPassenger
|
|
93
93
|
################# Configuration loading, option parsing and initialization ###################
|
94
94
|
|
95
95
|
def self.create_option_parser(options)
|
96
|
-
logical_pwd = Dir.logical_pwd
|
97
|
-
|
98
96
|
# If you add or change an option, make sure to update the following places too:
|
99
97
|
# - src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb,
|
100
98
|
# function #build_daemon_controller_options
|
101
99
|
# - resources/templates/standalone/config.erb
|
102
100
|
OptionParser.new do |opts|
|
103
|
-
defaults = CONFIG_DEFAULTS
|
104
|
-
nl = "\n" + ' ' * 37
|
105
101
|
opts.banner = "Usage: passenger start [DIRECTORY] [OPTIONS]\n"
|
106
102
|
opts.separator "Starts #{PROGRAM_NAME} Standalone and serve one or more web applications."
|
107
103
|
opts.separator ""
|
@@ -151,7 +151,7 @@ class JSON
|
|
151
151
|
private
|
152
152
|
|
153
153
|
def generate_type(obj)
|
154
|
-
type = obj.is_a?(Numeric) ? :Numeric : obj.class.name
|
154
|
+
type = obj.is_a?(Numeric) ? :Numeric : obj.class.name.split('::').last
|
155
155
|
begin send(:"generate_#{type}", obj)
|
156
156
|
rescue NoMethodError; raise ArgumentError, "can't serialize #{type}"
|
157
157
|
end
|
@@ -170,6 +170,10 @@ class JSON
|
|
170
170
|
quote str.gsub(/[\r\n\f\t\b"\\]/) { "\\#{ESC_MAP[$&]}"}
|
171
171
|
end
|
172
172
|
|
173
|
+
def generate_VersionComparer(vc)
|
174
|
+
generate_String(vc)
|
175
|
+
end
|
176
|
+
|
173
177
|
def generate_simple(obj) obj.inspect end
|
174
178
|
alias generate_Numeric generate_simple
|
175
179
|
alias generate_TrueClass generate_simple
|
@@ -23,8 +23,6 @@
|
|
23
23
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
24
24
|
# THE SOFTWARE.
|
25
25
|
|
26
|
-
require 'base64'
|
27
|
-
|
28
26
|
module PhusionPassenger
|
29
27
|
|
30
28
|
# Utility functions.
|
@@ -182,19 +180,11 @@ module PhusionPassenger
|
|
182
180
|
end
|
183
181
|
end
|
184
182
|
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
# Base64-encodes the given data. Newlines are removed.
|
191
|
-
# This is like `Base64.strict_encode64`, but also works
|
192
|
-
# on Ruby 1.8 which doesn't have that method.
|
193
|
-
def base64(data)
|
194
|
-
result = Base64.encode64(data)
|
195
|
-
result.delete!("\n")
|
196
|
-
result
|
197
|
-
end
|
183
|
+
# Returns a base64 encoded string without line breaks and padding.
|
184
|
+
# Like Base64.strict_encode64, but without a dependency on the
|
185
|
+
# 'base64' library/gem.
|
186
|
+
def base64(data)
|
187
|
+
[data].pack("m0")
|
198
188
|
end
|
199
189
|
|
200
190
|
# Returns a string which reports the backtraces for all threads,
|
@@ -31,16 +31,16 @@ module PhusionPassenger
|
|
31
31
|
|
32
32
|
PACKAGE_NAME = 'passenger'
|
33
33
|
# Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
|
34
|
-
VERSION_STRING = '6.0.
|
34
|
+
VERSION_STRING = '6.0.24'
|
35
35
|
|
36
36
|
# Tip: find the SHA-256 with ./dev/nginx_version_sha256 <VERSION>
|
37
|
-
PREFERRED_NGINX_VERSION = '1.26.
|
38
|
-
NGINX_SHA256_CHECKSUM = '
|
37
|
+
PREFERRED_NGINX_VERSION = '1.26.2'
|
38
|
+
NGINX_SHA256_CHECKSUM = '627fe086209bba80a2853a0add9d958d7ebbdffa1a8467a5784c9a6b4f03d738'
|
39
39
|
|
40
40
|
# Packaging may be locked to an older version due to the specific module configuration being
|
41
41
|
# incompatible with the version we prefer (latest stable).
|
42
|
-
PACKAGING_PREFERRED_NGINX_VERSION = '1.26.
|
43
|
-
PACKAGING_NGINX_SHA256_CHECKSUM = '
|
42
|
+
PACKAGING_PREFERRED_NGINX_VERSION = '1.26.2'
|
43
|
+
PACKAGING_NGINX_SHA256_CHECKSUM = '627fe086209bba80a2853a0add9d958d7ebbdffa1a8467a5784c9a6b4f03d738'
|
44
44
|
|
45
45
|
# sha256sum of the .tar.gz
|
46
46
|
PREFERRED_PCRE_VERSION = '10.39'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: passenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phusion - http://www.phusion.nl/
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07
|
11
|
+
date: 2024-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.0.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 2.0.0
|
55
55
|
description: A modern web server and application server for Ruby, Python and Node.js,
|
56
56
|
optimized for performance, low memory usage and ease of use.
|
57
57
|
email: software-signing@phusion.nl
|
@@ -739,17 +739,22 @@ files:
|
|
739
739
|
- src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp
|
740
740
|
- src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp
|
741
741
|
- src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp
|
742
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp
|
743
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp
|
742
744
|
- src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp
|
743
745
|
- src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp
|
744
746
|
- src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp
|
747
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp
|
745
748
|
- src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp
|
746
749
|
- src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp
|
747
750
|
- src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp
|
751
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp
|
748
752
|
- src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp
|
749
753
|
- src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp
|
750
754
|
- src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp
|
751
755
|
- src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp
|
752
756
|
- src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp
|
757
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp
|
753
758
|
- src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp
|
754
759
|
- src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp
|
755
760
|
- src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp
|
@@ -768,6 +773,9 @@ files:
|
|
768
773
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp
|
769
774
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp
|
770
775
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp
|
776
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp
|
777
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp
|
778
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp
|
771
779
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp
|
772
780
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp
|
773
781
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp
|
@@ -844,6 +852,7 @@ files:
|
|
844
852
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp
|
845
853
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp
|
846
854
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp
|
855
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp
|
847
856
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp
|
848
857
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp
|
849
858
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp
|
@@ -958,6 +967,7 @@ files:
|
|
958
967
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp
|
959
968
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp
|
960
969
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp
|
970
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp
|
961
971
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp
|
962
972
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp
|
963
973
|
- src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp
|
@@ -1009,10 +1019,7 @@ files:
|
|
1009
1019
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp
|
1010
1020
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp
|
1011
1021
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp
|
1012
|
-
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp
|
1013
|
-
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp
|
1014
1022
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp
|
1015
|
-
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp
|
1016
1023
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp
|
1017
1024
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp
|
1018
1025
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp
|
@@ -1024,7 +1031,6 @@ files:
|
|
1024
1031
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp
|
1025
1032
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp
|
1026
1033
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp
|
1027
|
-
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp
|
1028
1034
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp
|
1029
1035
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp
|
1030
1036
|
- src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp
|
@@ -1045,6 +1051,7 @@ files:
|
|
1045
1051
|
- src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp
|
1046
1052
|
- src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp
|
1047
1053
|
- src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp
|
1054
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp
|
1048
1055
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp
|
1049
1056
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp
|
1050
1057
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp
|
@@ -1052,6 +1059,8 @@ files:
|
|
1052
1059
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp
|
1053
1060
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp
|
1054
1061
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp
|
1062
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp
|
1063
|
+
- src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp
|
1055
1064
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp
|
1056
1065
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp
|
1057
1066
|
- src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp
|
@@ -1679,6 +1688,7 @@ files:
|
|
1679
1688
|
- src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp
|
1680
1689
|
- src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp
|
1681
1690
|
- src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp
|
1691
|
+
- src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp
|
1682
1692
|
- src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp
|
1683
1693
|
- src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp
|
1684
1694
|
- src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp
|
@@ -1706,6 +1716,7 @@ files:
|
|
1706
1716
|
- src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp
|
1707
1717
|
- src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp
|
1708
1718
|
- src/cxx_supportlib/vendor-modified/boost/core/nvp.hpp
|
1719
|
+
- src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp
|
1709
1720
|
- src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp
|
1710
1721
|
- src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp
|
1711
1722
|
- src/cxx_supportlib/vendor-modified/boost/core/ref.hpp
|
@@ -2070,6 +2081,7 @@ files:
|
|
2070
2081
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp
|
2071
2082
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp
|
2072
2083
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp
|
2084
|
+
- src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp
|
2073
2085
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp
|
2074
2086
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp
|
2075
2087
|
- src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp
|
@@ -4593,6 +4605,7 @@ files:
|
|
4593
4605
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp
|
4594
4606
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp
|
4595
4607
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp
|
4608
|
+
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp
|
4596
4609
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp
|
4597
4610
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp
|
4598
4611
|
- src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp
|