passenger 6.0.23 → 6.0.24
Sign up to get free protection for your applications and to get access to all the features.
- 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
|