passenger 6.0.27 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +42 -2
- data/CONTRIBUTORS +2 -0
- data/Rakefile +6 -13
- data/bin/passenger-install-apache2-module +21 -22
- data/bin/passenger-install-nginx-module +50 -47
- data/bin/passenger-status +9 -10
- data/build/common_library.rb +4 -4
- data/build/support/cxx_dependency_map.rb +3 -621
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -3
- data/dev/copy_boost_headers +54 -40
- data/dev/index_cxx_dependencies.rb +4 -0
- data/dev/ruby_server.rb +1 -1
- data/package.json +1 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Socket.h +3 -3
- data/src/agent/Core/ApplicationPool/TestSession.h +3 -4
- data/src/agent/Core/Config.h +1 -6
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/SecurityUpdateChecker.h +10 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +0 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +23 -5
- data/src/agent/Shared/Fundamentals/AbortHandler.h +10 -22
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -0
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +14 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
- data/src/apache2_module/Hooks.cpp +0 -6
- data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +2 -12
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -6
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -7
- data/src/cxx_supportlib/Exceptions.cpp +178 -0
- data/src/cxx_supportlib/Exceptions.h +62 -177
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +255 -228
- data/src/cxx_supportlib/IOTools/IOUtils.h +84 -121
- data/src/cxx_supportlib/ServerKit/Config.h +1 -6
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
- data/src/cxx_supportlib/StaticString.h +1 -6
- data/src/cxx_supportlib/Utils/Curl.h +1 -6
- data/src/cxx_supportlib/Utils/ScopeGuard.h +0 -32
- data/src/cxx_supportlib/oxt/implementation.cpp +2 -2
- data/src/cxx_supportlib/oxt/spin_lock.hpp +94 -23
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
- data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
- data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ContentHandler.c +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +12 -23
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +31 -32
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +27 -104
- data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +0 -75
- data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +0 -85
- data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +0 -38
- data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
data/build/test_basics.rb
CHANGED
|
@@ -46,7 +46,7 @@ end
|
|
|
46
46
|
|
|
47
47
|
desc "Install developer dependencies"
|
|
48
48
|
task 'test:install_deps' do
|
|
49
|
-
gem_install = PlatformInfo.gem_command + " install --no-
|
|
49
|
+
gem_install = PlatformInfo.gem_command + " install --no-document"
|
|
50
50
|
gem_install = "#{PlatformInfo.ruby_sudo_command} #{gem_install}" if boolean_option('SUDO')
|
|
51
51
|
default = boolean_option('DEVDEPS_DEFAULT', true)
|
|
52
52
|
install_base_deps = boolean_option('BASE_DEPS', default)
|
|
@@ -82,13 +82,14 @@ end
|
|
|
82
82
|
|
|
83
83
|
def bundler_version
|
|
84
84
|
`bundle --version` =~ /version (.+)/
|
|
85
|
+
`gem info --quiet --remote --exact bundler`.lines.first =~ /bundler \((.+)\)/ if $1.nil?
|
|
85
86
|
Gem::Version.new($1)
|
|
86
87
|
end
|
|
87
88
|
|
|
88
89
|
def bundler_too_old?
|
|
89
|
-
|
|
90
|
+
bundler_version < Gem::Version.new("1.1.10")
|
|
90
91
|
end
|
|
91
92
|
|
|
92
93
|
def bundler_too_new?
|
|
93
|
-
|
|
94
|
+
bundler_version >= Gem::Version.new("2.1.0")
|
|
94
95
|
end
|
data/dev/copy_boost_headers
CHANGED
|
@@ -220,34 +220,34 @@ def copy_dependencies(cflags)
|
|
|
220
220
|
else
|
|
221
221
|
openssl_path = '/usr/include/openssl'
|
|
222
222
|
end
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
|
|
224
|
+
loop do
|
|
225
225
|
compiler_output = `c++ test.cpp -c -I#{openssl_path}/include -I. -I.. #{cflags.join(" ")} 2>&1`
|
|
226
226
|
File.unlink('test.o') if File.exist?('test.o')
|
|
227
|
-
missing_headers = compiler_output.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
file
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
227
|
+
missing_headers = compiler_output.lines.
|
|
228
|
+
grep(/(error: .*: No such file|fatal error: '.*' file not found)/).
|
|
229
|
+
reject{|s| s =~ /\/usr\/include\// }.
|
|
230
|
+
map do |line|
|
|
231
|
+
if line =~ /error: (.*): No such file/
|
|
232
|
+
file = $1
|
|
233
|
+
elsif line =~ /fatal error: '(.*)' file not found/
|
|
234
|
+
file = $1
|
|
235
|
+
else
|
|
236
|
+
abort "Bug"
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
if file =~ /^boost\//
|
|
240
|
+
file
|
|
241
|
+
else
|
|
242
|
+
line =~ /(.*?):/
|
|
243
|
+
source = $1
|
|
244
|
+
File.dirname(source) + "/" + file
|
|
245
|
+
end
|
|
245
246
|
end
|
|
246
|
-
end
|
|
247
247
|
missing_headers.each do |header|
|
|
248
248
|
install("#{BOOST_DIR}/#{header}", header)
|
|
249
249
|
end
|
|
250
|
-
|
|
250
|
+
break if missing_headers.empty?
|
|
251
251
|
end
|
|
252
252
|
end
|
|
253
253
|
|
|
@@ -265,27 +265,41 @@ def start
|
|
|
265
265
|
prepare
|
|
266
266
|
copy_essential_files
|
|
267
267
|
[
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
"-std
|
|
275
|
-
"
|
|
276
|
-
"-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
"-std=c++0x",
|
|
281
|
-
"-std=gnu++0x",
|
|
282
|
-
""
|
|
283
|
-
].product(["-m32","-m64",""]).each do |flags|
|
|
284
|
-
copy_dependencies(flags)
|
|
285
|
-
end
|
|
268
|
+
14,
|
|
269
|
+
17,
|
|
270
|
+
20,
|
|
271
|
+
23,
|
|
272
|
+
26,
|
|
273
|
+
].product(['c++', 'gnu++'])
|
|
274
|
+
.map{|v,l| "-std=#{l}#{v}" }
|
|
275
|
+
.push("")
|
|
276
|
+
.product(["-m64",""])
|
|
277
|
+
.each do |flags|
|
|
278
|
+
copy_dependencies(flags)
|
|
279
|
+
end
|
|
286
280
|
ensure
|
|
287
281
|
cleanup
|
|
288
282
|
end
|
|
289
283
|
end
|
|
290
284
|
|
|
291
285
|
start
|
|
286
|
+
|
|
287
|
+
#### Magic bash editing buffer #################
|
|
288
|
+
################################################
|
|
289
|
+
################################################
|
|
290
|
+
################################################
|
|
291
|
+
################################################
|
|
292
|
+
################################################
|
|
293
|
+
################################################
|
|
294
|
+
################################################
|
|
295
|
+
################################################
|
|
296
|
+
################################################
|
|
297
|
+
################################################
|
|
298
|
+
################################################
|
|
299
|
+
################################################
|
|
300
|
+
################################################
|
|
301
|
+
################################################
|
|
302
|
+
################################################
|
|
303
|
+
################################################
|
|
304
|
+
################################################
|
|
305
|
+
################################################
|
data/dev/ruby_server.rb
CHANGED
data/package.json
CHANGED
|
@@ -193,7 +193,7 @@ void processAndLogNewSpawnException(SpawningKit::SpawnException &e, const Option
|
|
|
193
193
|
getSystemTempDir());
|
|
194
194
|
fd = mkstemp(filename);
|
|
195
195
|
#endif
|
|
196
|
-
FdGuard guard(fd,
|
|
196
|
+
FdGuard guard(fd, nullptr, 0);
|
|
197
197
|
if (fd == -1) {
|
|
198
198
|
int e = errno;
|
|
199
199
|
throw SystemException("Cannot generate a temporary filename",
|
|
@@ -89,10 +89,10 @@ private:
|
|
|
89
89
|
Connection connect() const {
|
|
90
90
|
Connection connection;
|
|
91
91
|
P_TRACE(3, "Connecting to " << address);
|
|
92
|
-
|
|
93
|
-
connection.ready =
|
|
92
|
+
auto result = createNonBlockingSocketConnection(address, __FILE__, __LINE__);
|
|
93
|
+
connection.ready = result.second;
|
|
94
94
|
connection.fail = true;
|
|
95
|
-
connection.fd =
|
|
95
|
+
connection.fd = result.first;
|
|
96
96
|
connection.wantKeepAlive = false;
|
|
97
97
|
P_LOG_FILE_DESCRIPTOR_PURPOSE(connection.fd, "App " << pid << " connection");
|
|
98
98
|
return connection;
|
|
@@ -207,10 +207,9 @@ public:
|
|
|
207
207
|
__FILE__, __LINE__);
|
|
208
208
|
|
|
209
209
|
// Create client socket (non-blocking)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
connection.first = std::move(clientState.fd);
|
|
210
|
+
auto nbcResult = createNonBlockingUnixSocketConnection( socketPath, __FILE__, __LINE__);
|
|
211
|
+
bool immediatelyConnected = nbcResult.second;
|
|
212
|
+
connection.first = FileDescriptor(nbcResult.first, nullptr, 0);
|
|
214
213
|
|
|
215
214
|
// Accept connection (blocking)
|
|
216
215
|
FileDescriptor serverSideFd(oxt::syscalls::accept(serverFd, NULL, NULL),
|
data/src/agent/Core/Config.h
CHANGED
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
#include <ConfigKit/TableTranslator.h>
|
|
41
41
|
#include <ConfigKit/PrefixTranslator.h>
|
|
42
42
|
#include <ServerKit/Context.h>
|
|
43
|
-
#include <ServerKit/llversion.h>
|
|
44
43
|
#include <ServerKit/HttpServer.h>
|
|
45
44
|
#include <WrapperRegistry/Registry.h>
|
|
46
45
|
#include <Core/Controller/Config.h>
|
|
@@ -150,7 +149,7 @@ using namespace std;
|
|
|
150
149
|
* security_update_checker_interval unsigned integer - default(86400)
|
|
151
150
|
* security_update_checker_proxy_url string - -
|
|
152
151
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
|
153
|
-
* server_software string - default("Phusion_Passenger/6.
|
|
152
|
+
* server_software string - default("Phusion_Passenger/6.1.1")
|
|
154
153
|
* show_version_in_header boolean - default(true)
|
|
155
154
|
* single_app_mode_app_root string - default,read_only
|
|
156
155
|
* single_app_mode_app_start_command string - read_only
|
|
@@ -353,10 +352,6 @@ private:
|
|
|
353
352
|
|
|
354
353
|
Json::Value updates;
|
|
355
354
|
updates["server_software"] = serverSoftware;
|
|
356
|
-
if (effectiveValues["integration_mode"].asString() == "standalone" &&
|
|
357
|
-
effectiveValues["standalone_engine"].asString()=="builtin") {
|
|
358
|
-
updates["web_server_version"] = llhttp_version();
|
|
359
|
-
}
|
|
360
355
|
return updates;
|
|
361
356
|
}
|
|
362
357
|
|
|
@@ -118,7 +118,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
|
|
|
118
118
|
* old_routing boolean - default(false),read_only
|
|
119
119
|
* request_freelist_limit unsigned integer - default(1024)
|
|
120
120
|
* response_buffer_high_watermark unsigned integer - default(134217728)
|
|
121
|
-
* server_software string - default("Phusion_Passenger/6.
|
|
121
|
+
* server_software string - default("Phusion_Passenger/6.1.1")
|
|
122
122
|
* show_version_in_header boolean - default(true)
|
|
123
123
|
* start_reading_after_accept boolean - default(true)
|
|
124
124
|
* stat_throttle_rate unsigned integer - default(10)
|
data/src/agent/Core/CoreMain.cpp
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
#include <oxt/backtrace.hpp>
|
|
34
34
|
|
|
35
35
|
#include <SecurityKit/Crypto.h>
|
|
36
|
+
#include <ServerKit/llversion.h>
|
|
36
37
|
#include <ResourceLocator.h>
|
|
37
38
|
#include <Exceptions.h>
|
|
38
39
|
#include <StaticString.h>
|
|
@@ -568,7 +569,15 @@ public:
|
|
|
568
569
|
bodyJson["passenger_version"] = PASSENGER_VERSION;
|
|
569
570
|
|
|
570
571
|
bodyJson["server_integration"] = sessionState.config["server_identifier"];
|
|
571
|
-
|
|
572
|
+
|
|
573
|
+
if (bodyJson["server_integration"].asString() == "standalone" &&
|
|
574
|
+
sessionState.config["web_server_version"].isNull()) {
|
|
575
|
+
P_INFO("Config web server version was Null while using standalone integration, assuming builtin engine.");
|
|
576
|
+
bodyJson["server_version"] = llhttp_version();
|
|
577
|
+
}else {
|
|
578
|
+
bodyJson["server_version"] = sessionState.config["web_server_version"];
|
|
579
|
+
}
|
|
580
|
+
|
|
572
581
|
bodyJson["curl_static"] = isCurlStaticallyLinked();
|
|
573
582
|
|
|
574
583
|
string nonce;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
#include <oxt/backtrace.hpp>
|
|
35
35
|
#include <string>
|
|
36
36
|
#include <vector>
|
|
37
|
-
#include <
|
|
37
|
+
#include <exception>
|
|
38
38
|
#include <cstddef>
|
|
39
39
|
#include <cstdlib>
|
|
40
40
|
#include <cerrno>
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
#include <FileDescriptor.h>
|
|
51
51
|
#include <FileTools/FileManip.h>
|
|
52
52
|
#include <FileTools/PathManip.h>
|
|
53
|
+
#include <IOTools/IOUtils.h>
|
|
53
54
|
#include <Utils.h>
|
|
54
55
|
#include <Utils/ScopeGuard.h>
|
|
55
56
|
#include <SystemTools/SystemTime.h>
|
|
@@ -196,8 +197,18 @@ private:
|
|
|
196
197
|
|
|
197
198
|
while (true) {
|
|
198
199
|
unsigned long long timeout = 100000;
|
|
200
|
+
bool pingable;
|
|
199
201
|
|
|
200
|
-
|
|
202
|
+
try {
|
|
203
|
+
pingable = pingTcpServer("127.0.0.1", session.expectedStartPort, &timeout);
|
|
204
|
+
} catch (const std::exception &e) {
|
|
205
|
+
P_WARN("Error checking whether 127.0.0.1:" << session.expectedStartPort
|
|
206
|
+
<< " is connectable: " << e.what());
|
|
207
|
+
syscalls::usleep(50000);
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (pingable) {
|
|
201
212
|
boost::lock_guard<boost::mutex> l(syncher);
|
|
202
213
|
socketIsNowPingable = true;
|
|
203
214
|
finishState = FINISH_SUCCESS;
|
|
@@ -550,10 +550,10 @@ dumpFileDescriptorInfo(AbortHandlerWorkingState &state) {
|
|
|
550
550
|
}
|
|
551
551
|
|
|
552
552
|
static void
|
|
553
|
-
dumpWithCrashWatch(AbortHandlerWorkingState &state) {
|
|
553
|
+
dumpWithCrashWatch(AbortHandlerWorkingState &state, bool toStderr) {
|
|
554
554
|
int fd = -1;
|
|
555
555
|
|
|
556
|
-
if (state.crashLogDirFd != -1) {
|
|
556
|
+
if (state.crashLogDirFd != -1 && !toStderr) {
|
|
557
557
|
fd = openat(state.crashLogDirFd, "backtrace.log", O_WRONLY | O_CREAT | O_TRUNC, 0600);
|
|
558
558
|
if (fd != -1) {
|
|
559
559
|
printCrashLogFileCreated(state, "backtrace.log");
|
|
@@ -594,7 +594,25 @@ dumpWithCrashWatch(AbortHandlerWorkingState &state) {
|
|
|
594
594
|
write_nowarn(STDERR_FILENO, state.messageBuf, pos - state.messageBuf);
|
|
595
595
|
|
|
596
596
|
} else {
|
|
597
|
-
|
|
597
|
+
int status = -1;
|
|
598
|
+
int ret = waitpid(child, &status, 0);
|
|
599
|
+
int e = errno;
|
|
600
|
+
if (ret == -1 || status != 0) {
|
|
601
|
+
pos = state.messageBuf;
|
|
602
|
+
pos = ASSU::appendData(pos, end, "ERROR running 'crash-watch' (");
|
|
603
|
+
if (ret == -1) {
|
|
604
|
+
pos = ASSU::appendData(pos, end, "waitpid() failed, errno=");
|
|
605
|
+
pos = ASSU::appendInteger<int, 10>(pos, end, e);
|
|
606
|
+
} else if (WIFSIGNALED(status)) {
|
|
607
|
+
pos = ASSU::appendData(pos, end, "exited with signal ");
|
|
608
|
+
pos = ASSU::appendInteger<int, 10>(pos, end, WTERMSIG(status));
|
|
609
|
+
} else {
|
|
610
|
+
pos = ASSU::appendData(pos, end, "exit status ");
|
|
611
|
+
pos = ASSU::appendInteger<int, 10>(pos, end, WEXITSTATUS(status));
|
|
612
|
+
}
|
|
613
|
+
pos = ASSU::appendData(pos, end, ")\n");
|
|
614
|
+
write_nowarn(STDERR_FILENO, state.messageBuf, pos - state.messageBuf);
|
|
615
|
+
}
|
|
598
616
|
}
|
|
599
617
|
|
|
600
618
|
if (fd != -1) {
|
|
@@ -852,7 +870,7 @@ dumpDiagnostics(AbortHandlerWorkingState &state) {
|
|
|
852
870
|
pos = ASSU::appendData(pos, end, " ] Dumping a backtrace with crash-watch...\n");
|
|
853
871
|
#endif
|
|
854
872
|
write_nowarn(STDERR_FILENO, state.messageBuf, pos - state.messageBuf);
|
|
855
|
-
dumpWithCrashWatch(state);
|
|
873
|
+
dumpWithCrashWatch(state, ctx->config->dumpCrashWatchToStderr);
|
|
856
874
|
} else {
|
|
857
875
|
write_nowarn(STDERR_FILENO, "\n", 1);
|
|
858
876
|
}
|
|
@@ -969,7 +987,7 @@ forkAndRedirectToTeeAndMainLogFile(const char *crashLogDir) {
|
|
|
969
987
|
execlp("/usr/bin/cat", "cat", (char *) 0);
|
|
970
988
|
ASSU::printError("ERROR: cannot execute 'tee' or 'cat'; crash log will be lost!\n");
|
|
971
989
|
_exit(1);
|
|
972
|
-
return false;
|
|
990
|
+
return false; // Unreachable
|
|
973
991
|
} else if (pid == -1) {
|
|
974
992
|
ASSU::printError("ERROR: cannot fork a process for executing 'tee'\n");
|
|
975
993
|
return false;
|
|
@@ -26,8 +26,6 @@
|
|
|
26
26
|
#ifndef _PASSENGER_AGENT_FUNDAMENTALS_ABORT_HANDLER_H_
|
|
27
27
|
#define _PASSENGER_AGENT_FUNDAMENTALS_ABORT_HANDLER_H_
|
|
28
28
|
|
|
29
|
-
#include <cstddef>
|
|
30
|
-
|
|
31
29
|
namespace Passenger {
|
|
32
30
|
class ResourceLocator;
|
|
33
31
|
}
|
|
@@ -38,7 +36,7 @@ namespace Fundamentals {
|
|
|
38
36
|
|
|
39
37
|
|
|
40
38
|
struct AbortHandlerConfig {
|
|
41
|
-
static
|
|
39
|
+
static constexpr unsigned int MAX_DIAGNOSTICS_DUMPERS = 5;
|
|
42
40
|
typedef void (*DiagnosticsDumperFunc)(void *userData);
|
|
43
41
|
|
|
44
42
|
struct DiagnosticsDumper {
|
|
@@ -56,26 +54,16 @@ struct AbortHandlerConfig {
|
|
|
56
54
|
};
|
|
57
55
|
|
|
58
56
|
|
|
59
|
-
char *ruby;
|
|
60
|
-
char **origArgv;
|
|
61
|
-
unsigned int randomSeed;
|
|
62
|
-
bool dumpWithCrashWatch;
|
|
63
|
-
bool
|
|
64
|
-
bool
|
|
65
|
-
bool
|
|
66
|
-
|
|
57
|
+
char *ruby = nullptr;
|
|
58
|
+
char **origArgv = nullptr;
|
|
59
|
+
unsigned int randomSeed = 0;
|
|
60
|
+
bool dumpWithCrashWatch = false;
|
|
61
|
+
bool dumpCrashWatchToStderr = false;
|
|
62
|
+
bool beep = false;
|
|
63
|
+
bool stopProcess = false;
|
|
64
|
+
bool forceTerminateProcess = false;
|
|
65
|
+
ResourceLocator *resourceLocator = nullptr;
|
|
67
66
|
DiagnosticsDumper diagnosticsDumpers[MAX_DIAGNOSTICS_DUMPERS];
|
|
68
|
-
|
|
69
|
-
AbortHandlerConfig()
|
|
70
|
-
: ruby(NULL),
|
|
71
|
-
origArgv(NULL),
|
|
72
|
-
randomSeed(0),
|
|
73
|
-
dumpWithCrashWatch(false),
|
|
74
|
-
beep(false),
|
|
75
|
-
stopProcess(false),
|
|
76
|
-
forceTerminateProcess(false),
|
|
77
|
-
resourceLocator(NULL)
|
|
78
|
-
{ }
|
|
79
67
|
};
|
|
80
68
|
|
|
81
69
|
void installAbortHandler(const AbortHandlerConfig *config);
|
|
@@ -465,6 +465,7 @@ maybeInitializeAbortHandler() {
|
|
|
465
465
|
config->origArgv = context->origArgv;
|
|
466
466
|
config->randomSeed = context->randomSeed;
|
|
467
467
|
config->dumpWithCrashWatch = getEnvBool("PASSENGER_DUMP_WITH_CRASH_WATCH", true);
|
|
468
|
+
config->dumpCrashWatchToStderr = getEnvBool("PASSENGER_DUMP_CRASH_WATCH_TO_STDERR", false);
|
|
468
469
|
config->beep = getEnvBool("PASSENGER_BEEP_ON_ABORT");
|
|
469
470
|
config->stopProcess = getEnvBool("PASSENGER_STOP_ON_ABORT");
|
|
470
471
|
config->forceTerminateProcess = getEnvBool("PASSENGER_FORCE_TERMINATE_ON_ABORT");
|
data/src/agent/Watchdog/Config.h
CHANGED
|
@@ -139,7 +139,7 @@ using namespace std;
|
|
|
139
139
|
* security_update_checker_interval unsigned integer - default(86400)
|
|
140
140
|
* security_update_checker_proxy_url string - -
|
|
141
141
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
|
142
|
-
* server_software string - default("Phusion_Passenger/6.
|
|
142
|
+
* server_software string - default("Phusion_Passenger/6.1.1")
|
|
143
143
|
* setsid boolean - default(false)
|
|
144
144
|
* show_version_in_header boolean - default(true)
|
|
145
145
|
* single_app_mode_app_root string - default,read_only
|
|
@@ -67,6 +67,11 @@ extern "C" const command_rec passenger_commands[] = {
|
|
|
67
67
|
NULL,
|
|
68
68
|
RSRC_CONF,
|
|
69
69
|
"Use specified HTTP/SOCKS proxy for Phusion Passenger(R) anonymous telemetry collection."),
|
|
70
|
+
AP_INIT_TAKE1("PassengerAppConnectTimeout",
|
|
71
|
+
(Take1Func) cmd_passenger_app_connect_timeout,
|
|
72
|
+
NULL,
|
|
73
|
+
RSRC_CONF | ACCESS_CONF,
|
|
74
|
+
"A timeout for application to accept socket connections."),
|
|
70
75
|
AP_INIT_TAKE1("PassengerAppEnv",
|
|
71
76
|
(Take1Func) cmd_passenger_app_env,
|
|
72
77
|
NULL,
|
|
@@ -159,6 +159,11 @@ void
|
|
|
159
159
|
ConfigManifestGenerator::autoGenerated_setAppConfigDefaults() {
|
|
160
160
|
Json::Value &defaultAppConfigContainer = manifest["default_application_configuration"];
|
|
161
161
|
|
|
162
|
+
addOptionsContainerStaticDefaultInt(
|
|
163
|
+
defaultAppConfigContainer,
|
|
164
|
+
"PassengerAppConnectTimeout",
|
|
165
|
+
DEFAULT_CONNECT_TIMEOUT);
|
|
166
|
+
|
|
162
167
|
addOptionsContainerStaticDefaultStr(
|
|
163
168
|
defaultAppConfigContainer,
|
|
164
169
|
"PassengerAppEnv",
|
|
@@ -98,6 +98,20 @@ cmd_passenger_anonymous_telemetry_proxy(cmd_parms *cmd, void *pcfg, const char *
|
|
|
98
98
|
return NULL;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
static const char *
|
|
102
|
+
cmd_passenger_app_connect_timeout(cmd_parms *cmd, void *pcfg, const char *arg) {
|
|
103
|
+
const char *err = ap_check_cmd_context(cmd, NOT_IN_FILES);
|
|
104
|
+
if (err != NULL) {
|
|
105
|
+
return err;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
DirConfig *config = (DirConfig *) pcfg;
|
|
109
|
+
config->mAppConnectTimeoutSourceFile = cmd->directive->filename;
|
|
110
|
+
config->mAppConnectTimeoutSourceLine = cmd->directive->line_num;
|
|
111
|
+
config->mAppConnectTimeoutExplicitlySet = true;
|
|
112
|
+
return setIntConfig(cmd, arg, config->mAppConnectTimeout, 1);
|
|
113
|
+
}
|
|
114
|
+
|
|
101
115
|
static const char *
|
|
102
116
|
cmd_passenger_app_env(cmd_parms *cmd, void *pcfg, const char *arg) {
|
|
103
117
|
const char *err = ap_check_cmd_context(cmd, NOT_IN_FILES);
|
|
@@ -52,6 +52,7 @@ namespace Apache2Module {
|
|
|
52
52
|
static void
|
|
53
53
|
createDirConfig_autoGenerated(DirConfig *config) {
|
|
54
54
|
config->mAllowEncodedSlashes = Apache2Module::UNSET;
|
|
55
|
+
config->mAppConnectTimeout = UNSET_INT_VALUE;
|
|
55
56
|
/*
|
|
56
57
|
* config->mAppEnv: default initialized
|
|
57
58
|
*/
|
|
@@ -133,6 +134,7 @@ createDirConfig_autoGenerated(DirConfig *config) {
|
|
|
133
134
|
*/
|
|
134
135
|
|
|
135
136
|
config->mAllowEncodedSlashesSourceLine = 0;
|
|
137
|
+
config->mAppConnectTimeoutSourceLine = 0;
|
|
136
138
|
config->mAppEnvSourceLine = 0;
|
|
137
139
|
config->mAppGroupNameSourceLine = 0;
|
|
138
140
|
config->mAppLogFileSourceLine = 0;
|
|
@@ -172,6 +174,7 @@ createDirConfig_autoGenerated(DirConfig *config) {
|
|
|
172
174
|
config->mUserSourceLine = 0;
|
|
173
175
|
|
|
174
176
|
config->mAllowEncodedSlashesExplicitlySet = false;
|
|
177
|
+
config->mAppConnectTimeoutExplicitlySet = false;
|
|
175
178
|
config->mAppEnvExplicitlySet = false;
|
|
176
179
|
config->mAppGroupNameExplicitlySet = false;
|
|
177
180
|
config->mAppLogFileExplicitlySet = false;
|
|
@@ -52,6 +52,9 @@ namespace Apache2Module {
|
|
|
52
52
|
|
|
53
53
|
static void
|
|
54
54
|
constructRequestHeaders_autoGenerated(request_rec *r, DirConfig *config, std::string &result) {
|
|
55
|
+
addHeader(r, result, StaticString("!~PASSENGER_APP_CONNECT_TIMEOUT",
|
|
56
|
+
sizeof("!~PASSENGER_APP_CONNECT_TIMEOUT") - 1),
|
|
57
|
+
config->mAppConnectTimeout);
|
|
55
58
|
addHeader(result, StaticString("!~PASSENGER_APP_ENV",
|
|
56
59
|
sizeof("!~PASSENGER_APP_ENV") - 1),
|
|
57
60
|
config->mAppEnv);
|
|
@@ -64,6 +64,17 @@ ConfigManifestGenerator::autoGenerated_generateConfigManifestForDirConfig(server
|
|
|
64
64
|
pdconf->mAllowEncodedSlashesSourceLine);
|
|
65
65
|
hierarchyMember["value"] = pdconf->mAllowEncodedSlashes == Apache2Module::ENABLED;
|
|
66
66
|
}
|
|
67
|
+
if (pdconf->mAppConnectTimeoutExplicitlySet) {
|
|
68
|
+
findOrCreateAppAndLocOptionsContainers(serverRec, csconf, cdconf,
|
|
69
|
+
pdconf, context, &appOptionsContainer, &locOptionsContainer);
|
|
70
|
+
Json::Value &optionContainer = findOrCreateOptionContainer(*appOptionsContainer,
|
|
71
|
+
"PassengerAppConnectTimeout",
|
|
72
|
+
sizeof("PassengerAppConnectTimeout") - 1);
|
|
73
|
+
Json::Value &hierarchyMember = addOptionContainerHierarchyMember(optionContainer,
|
|
74
|
+
pdconf->mAppConnectTimeoutSourceFile,
|
|
75
|
+
pdconf->mAppConnectTimeoutSourceLine);
|
|
76
|
+
hierarchyMember["value"] = pdconf->mAppConnectTimeout;
|
|
77
|
+
}
|
|
67
78
|
if (pdconf->mAppEnvExplicitlySet) {
|
|
68
79
|
findOrCreateAppAndLocOptionsContainers(serverRec, csconf, cdconf,
|
|
69
80
|
pdconf, context, &appOptionsContainer, &locOptionsContainer);
|
|
@@ -52,6 +52,10 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
|
|
|
52
52
|
(add->mAllowEncodedSlashes != Apache2Module::UNSET)
|
|
53
53
|
? add->mAllowEncodedSlashes
|
|
54
54
|
: base->mAllowEncodedSlashes;
|
|
55
|
+
config->mAppConnectTimeout =
|
|
56
|
+
(add->mAppConnectTimeout != UNSET_INT_VALUE)
|
|
57
|
+
? add->mAppConnectTimeout
|
|
58
|
+
: base->mAppConnectTimeout;
|
|
55
59
|
config->mAppEnv =
|
|
56
60
|
(!add->mAppEnv.empty())
|
|
57
61
|
? add->mAppEnv
|
|
@@ -202,6 +206,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
|
|
|
202
206
|
: base->mUser;
|
|
203
207
|
|
|
204
208
|
config->mAllowEncodedSlashesSourceFile = add->mAllowEncodedSlashesSourceFile;
|
|
209
|
+
config->mAppConnectTimeoutSourceFile = add->mAppConnectTimeoutSourceFile;
|
|
205
210
|
config->mAppEnvSourceFile = add->mAppEnvSourceFile;
|
|
206
211
|
config->mAppGroupNameSourceFile = add->mAppGroupNameSourceFile;
|
|
207
212
|
config->mAppLogFileSourceFile = add->mAppLogFileSourceFile;
|
|
@@ -241,6 +246,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
|
|
|
241
246
|
config->mUserSourceFile = add->mUserSourceFile;
|
|
242
247
|
|
|
243
248
|
config->mAllowEncodedSlashesSourceLine = add->mAllowEncodedSlashesSourceLine;
|
|
249
|
+
config->mAppConnectTimeoutSourceLine = add->mAppConnectTimeoutSourceLine;
|
|
244
250
|
config->mAppEnvSourceLine = add->mAppEnvSourceLine;
|
|
245
251
|
config->mAppGroupNameSourceLine = add->mAppGroupNameSourceLine;
|
|
246
252
|
config->mAppLogFileSourceLine = add->mAppLogFileSourceLine;
|
|
@@ -280,6 +286,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
|
|
|
280
286
|
config->mUserSourceLine = add->mUserSourceLine;
|
|
281
287
|
|
|
282
288
|
config->mAllowEncodedSlashesExplicitlySet = add->mAllowEncodedSlashesExplicitlySet;
|
|
289
|
+
config->mAppConnectTimeoutExplicitlySet = add->mAppConnectTimeoutExplicitlySet;
|
|
283
290
|
config->mAppEnvExplicitlySet = add->mAppEnvExplicitlySet;
|
|
284
291
|
config->mAppGroupNameExplicitlySet = add->mAppGroupNameExplicitlySet;
|
|
285
292
|
config->mAppLogFileExplicitlySet = add->mAppLogFileExplicitlySet;
|