passenger 6.0.1 → 6.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +145 -18
- data/CONTRIBUTORS +6 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-status +15 -0
- data/build/misc.rb +3 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +2 -0
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +10 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +14 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +5 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +3 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +2 -1
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +15 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
- data/src/apache2_module/Hooks.cpp +6 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- 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/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- 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 +5 -4
- 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 +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +6 -2
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_native_extension/extconf.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87f764bdc885d673f1ba838702def911cfd13ba8
|
4
|
+
data.tar.gz: 9982f3dc4eb3f18af26e2b1192b79a8baf9fe19b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08b7a77a27a7078e34385dd4b9b4b64f6b47da977c43c004bbc909a6f13d0607a107d13177de5f09cd5cb2a4b45a1bed4cac8f7c39b42eb9aaff39cbc40bb9c0'
|
7
|
+
data.tar.gz: a16daedbe97fe019dc1be1515a763ffacbed6fefff59620637ee7897df2df50c495f05fb306ef679e1af93ebf28ee6b40b6729c0c5e8d52587162ba571bf41fc
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,130 @@
|
|
1
|
+
Release 6.0.6
|
2
|
+
-------------------------------
|
3
|
+
* Update gemspec with up to date metadata.
|
4
|
+
* Reverts the addition of the 'etc' gem to the Passenger gemspec, because it broke on normal ruby installs. Closes GH-2283.
|
5
|
+
* Builds Ubuntu focal Nginx dynamic module package against Nginx 1.18.0. Closes GH-2291.
|
6
|
+
* No longer providing prebuilt Ruby 2.1 or 2.2 binaries, they have been EOL for years and rubygems no longer supports them.
|
7
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
8
|
+
|
9
|
+
- ccache 3.7.10 (was 3.7.9)
|
10
|
+
- Curl 7.71.1 (was 7.69.1)
|
11
|
+
- Git 2.27.0 (was 2.26.2)
|
12
|
+
- GnuPG 2.2.21 (was 2.2.20)
|
13
|
+
- libgpg_error 1.38 (was 1.37)
|
14
|
+
- libgcrypt 1.8.6 (was 1.8.5)
|
15
|
+
- RubyGems 3.1.4 (was 3.0.8)
|
16
|
+
|
17
|
+
Release 6.0.5
|
18
|
+
-------------
|
19
|
+
|
20
|
+
* [Enterprise] Fixed a regression (introduced in 5.0.0) where Flying Passenger could not update the Passenger configuration. Closes GH-1554.
|
21
|
+
* Adds Ubuntu 20.04 "Focal" packages, and removes Ubuntu 19.04 "Disco" packages.
|
22
|
+
* Adds RHEL / CentOS 8 packages.
|
23
|
+
* [Nginx] Converts CentOS 7 packages to provide a dynamic module instead of a full Nginx install.
|
24
|
+
* Fixes the encoding name for xml output from the `passenger-status --show=xml` command. Closes GH-2248.
|
25
|
+
* Adds the 'etc' gem as an explicit dependency. Closes GH-2124.
|
26
|
+
* Adds a user agent to the passenger pre-spawn script. Closes GH-1534.
|
27
|
+
* Fixes a compilation issue on FreeBSD. Closes GH-2240.
|
28
|
+
* Fixes an issue where rack bodies may not be processed correctly.
|
29
|
+
* Improves the database reconnection speed in forked processes. closes GH-2253.
|
30
|
+
* [Nginx] Adds a config option `passenger_temp_path` to set the path used for the disk backed response cache. Re-Closes GH-2075.
|
31
|
+
* [Apache] Protects the path info and script name passed to the app from modifications done by mod_security. Closes GH-2198.
|
32
|
+
* Ensures baseuri is set per request, even if config is loaded from cache. Closes GH-2117.
|
33
|
+
* Make temp dir toucher cleanup code more resilient to permissions issues.
|
34
|
+
* [Nginx] Bumps the preferred Nginx version to 1.18.0 (previously 1.17.3).
|
35
|
+
* [Nginx] The preferred PCRE version is now 8.44 (previously 8.43).
|
36
|
+
* Removed deprecated rubyforge gemspec property. Contributed by @olleolleolle.
|
37
|
+
* Adds an option for specifying the attributes on the sticky session cookie:
|
38
|
+
- Apache: PassengerStickySessionsCookieAttributes "SameSite=Lax; Secure;"
|
39
|
+
- Nginx: passenger_sticky_sessions_cookie_attributes "SameSite=Lax; Secure;"
|
40
|
+
- Standalone: --sticky-sessions-cookie-attributes "SameSite=Lax; Secure;"
|
41
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
42
|
+
|
43
|
+
- ccache 3.7.9 (was 3.7.3)
|
44
|
+
- Curl 7.69.1 (was 7.66.0)
|
45
|
+
- Git 2.26.2 (was 2.23.0)
|
46
|
+
- GnuPG 2.2.20 (was 2.2.17)
|
47
|
+
- libgpg_error 1.37 (was 1.36)
|
48
|
+
- OpenSSL 1.0.2u (was 1.0.2t)
|
49
|
+
- PCRE 8.44 (was 8.43)
|
50
|
+
- s3cmd 2.1.0 (was 2.0.2)
|
51
|
+
- RubyGems 3.0.8 (was 3.0.6)
|
52
|
+
- Rubies:
|
53
|
+
- 2.4.6 -> 2.4.10
|
54
|
+
- 2.5.5 -> 2.5.8
|
55
|
+
- 2.6.3 -> 2.6.6
|
56
|
+
+ 2.7.1
|
57
|
+
|
58
|
+
|
59
|
+
Release 6.0.4
|
60
|
+
-------------
|
61
|
+
|
62
|
+
* Adds Debian 10 "Buster" packages.
|
63
|
+
|
64
|
+
|
65
|
+
Release 6.0.3
|
66
|
+
-------------
|
67
|
+
|
68
|
+
* Add an option to specify the spawn dir during startup, which is specifically useful for CageFS users. Contributed by @plmnikulin. Closes GH-2145.
|
69
|
+
|
70
|
+
- Apache: `PassengerSpawnDir`
|
71
|
+
- Nginx: `passenger_spawn_dir`
|
72
|
+
|
73
|
+
* [Nginx] Bumps the preferred Nginx version to 1.17.3 (previously 1.15.8).
|
74
|
+
* [Nginx] The preferred PCRE version is now 8.43 (previously 8.42).
|
75
|
+
* Adds Ubuntu 19.04 "Disco" packages, and removes Ubuntu 18.10 "Cosmic" and Ubuntu 14.04 "Trusty" packages.
|
76
|
+
* Changes minimum supported macOS version to 10.12 Sierra.
|
77
|
+
* Improves container detection and fixes a compilation warning in GCC 8+. Closes GH-2186.
|
78
|
+
* Allowed externally specifying an app instance to send a request to. Contributed by Mark R. James (@mrj).
|
79
|
+
* Fixed an incompatibility with sending requests to specific app instances, when using the rails web-console gem. Contributed by Mark R. James (@mrj).
|
80
|
+
* Fixed a regression (introduced in 5.1.9) where some hooks were not called. Closes GH-2103. Contributed by Mark R. James (@mrj).
|
81
|
+
* Fixes compilation with clang 8 (latest macOS update) by updating vendored boost library from 1.67 to 1.69.
|
82
|
+
* Reverts a regression intruduced in 6.0.2 where Passenger would crash if it had to use the disk backed response cache. Closes GH-2189.
|
83
|
+
* [Nginx] Adds an option `passenger_buffer_upload` to allow buffering uploaded data in Passenger before forwarding it to the app. As a workaround for apps that cannot handle chunked data.
|
84
|
+
* [Enterprise] When using deferred port binding, no longer binds port if all apps do not start up.
|
85
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
86
|
+
|
87
|
+
- PCRE 8.43 (was 8.42)
|
88
|
+
- Curl 7.65.1 (was 7.64.0)
|
89
|
+
- ccache 3.7.3 (was 3.6)
|
90
|
+
- Git 2.22.0 (was 2.20.1)
|
91
|
+
- OpenSSL 1.0.2s (was 1.0.2q)
|
92
|
+
- RubyGems 3.0.6 (was 3.0.2)
|
93
|
+
- GnuPG 2.2.16 (was 2.2.13)
|
94
|
+
- libgcrypt 1.8.5 (was 1.8.4)
|
95
|
+
- libgpg_error 1.36 (was 1.35)
|
96
|
+
- libiconv 1.16 (was 1.15)
|
97
|
+
- Ruby:
|
98
|
+
- 2.4.5 -> 2.4.6
|
99
|
+
- 2.5.3 -> 2.5.5
|
100
|
+
- 2.6.1 -> 2.6.3
|
101
|
+
|
102
|
+
|
103
|
+
Release 6.0.2
|
104
|
+
-------------
|
105
|
+
|
106
|
+
* Allow compilation to work when Apple messed up their system ruby headers.
|
107
|
+
* Only try to read pid 1's /proc files as root, in container detection. Closes GH-2168.
|
108
|
+
* Add an option to disable prefixing application logs with "App PID stdout". Contributed by Ian Kottman. Closes GH-1915.
|
109
|
+
|
110
|
+
- Apache: `PassengerDisableLogPrefix`
|
111
|
+
- Nginx: `passenger_disable_log_prefix`
|
112
|
+
|
113
|
+
* Add support for identifying the Passenger instance by PID. Closes GH-2146. Contributed by Saverio Miroddi (@saveriomiroddi).
|
114
|
+
* [Ruby] Made Passenger more resiliant to Rack bugs. Closes GH-2150.
|
115
|
+
* [Nginx] Do not touch Nginx's proxy_temp_path var in Passenger's nginx modules. Closes GH-2075. Contributed by Roman Berestnikov-Sivolov (@ROMB).
|
116
|
+
* Updated Ruby versions used in precompiled binaries (used for e.g. gem installs) to include 2.6.1.
|
117
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
118
|
+
|
119
|
+
- Curl: 7.64.0 (was: 7.63.0)
|
120
|
+
- Ruby: 2.6.1 (was: 2.6.0)
|
121
|
+
- RubyGems 3.0.2 (was: 3.0.1)
|
122
|
+
- ccache 3.6 (was: 3.5)
|
123
|
+
- GnuPG 2.2.13 (was: 2.2.12)
|
124
|
+
- libassuan 2.5.3 (was: 2.5.2)
|
125
|
+
- libgpg_error 1.35 (was: 1.33)
|
126
|
+
|
127
|
+
|
1
128
|
Release 6.0.1
|
2
129
|
-------------
|
3
130
|
|
@@ -317,7 +444,7 @@ Release 5.1.1
|
|
317
444
|
* The security update check now reports whether libcurl + SSL backend are statically linked to Passenger, in which case the check also needs to warn about relevant OpenSSL vulnerabilities in the linked library.
|
318
445
|
* Increases the allowed line lengths emitted by apps at startup.
|
319
446
|
* Adds support for the unary 'not' operator in the Union Station filter language.
|
320
|
-
* [Enterprise] Add missing flying-passenger integration mode to security update check.
|
447
|
+
* [Enterprise] Add missing flying-passenger integration mode to security update check.
|
321
448
|
* Fixes support for Rails 5.0.1 Action Cable. Specifically, we now support the `options` argument in the `write_nonblock` method in hijacked Rack IO sockets.
|
322
449
|
* [Apache] Introduces a small delay to prevent running the Security Update Checker twice at startup.
|
323
450
|
|
@@ -329,11 +456,11 @@ Release 5.1.0
|
|
329
456
|
* [Enterprise] When running a Rails app in multithreaded mode, Passenger Enterprise automatically tags Rails logs with the current thread number. This makes it possible to distinguish logs generated by different threads.
|
330
457
|
* Fixes permissions issue on Linux when setting OOM score after lowering privileges. Closes GH-1858.
|
331
458
|
* [Standalone] Allows raw json envvars in Passengerfile.json. Closes GH-1837.
|
332
|
-
* [Standalone] Make the `max_requests` option available on the command line as well.
|
459
|
+
* [Standalone] Make the `max_requests` option available on the command line as well.
|
333
460
|
* Fixes unaligned memory access in base64 decoder on platforms that have strict aliasing requirements (non x86/x86_64). Closes GH-1646.
|
334
461
|
* Introduces daily Passenger security update check to warn (error log) if there are newer Passenger versions with important security fixes (describing what was discovered, what is affected, which version has the fix).
|
335
462
|
* Fixes compilation on Linux when a non-glibc C library is in use. Closes GH-1870.
|
336
|
-
* `passenger-install-nginx-module` and the standalone compiler now add the http v2, realip and addition module flags for Nginx (just like the APT/RPM/autobuilder already had). Closes GH-1788.
|
463
|
+
* `passenger-install-nginx-module` and the standalone compiler now add the http v2, realip and addition module flags for Nginx (just like the APT/RPM/autobuilder already had). Closes GH-1788.
|
337
464
|
* [Apache] Fixes PassengerShowVersionInHeader option. Thanks to Sebastian Welther for contributing this.
|
338
465
|
* Passenger now reports when you try to use Node.js or Meteor clustering, and tries to continue with just a nonfunctional shim in place, so that if your code uses the clustering APIs your app may still work.
|
339
466
|
* Updates libev config.sub and config.guess to support newer platforms such as the IBM power 8.
|
@@ -496,7 +623,7 @@ Release 5.0.22
|
|
496
623
|
* The `passenger-config validate-install` command no longer prints false warnings about duplicate Passenger installs on systems that use RBenv. Closes GH-1627.
|
497
624
|
* Fixes race conditions in the automatic building of the Ruby native support extension. Closes GH-1570.
|
498
625
|
* [Enterprise] Fixes compatibility with byebug 7.0. Closes GH-1662.
|
499
|
-
* Support Union Station logging for Node.js applications, with Express/MongoDB automatically supported.
|
626
|
+
* Support Union Station logging for Node.js applications, with Express/MongoDB automatically supported.
|
500
627
|
* The Ruby Union Station hooks no longer abort with a fatal error when the application does not call the Union Station initializer method during startup. The error is now only logged.
|
501
628
|
* In case of an error response (HTTP 5xx), Union Station logging will also contain request headers.
|
502
629
|
* The Union Station hooks are now more resilient against environment variable problems.
|
@@ -559,7 +686,7 @@ Release 5.0.16
|
|
559
686
|
* Supports seek() such that body.rewind works when using Rack middleware that uses Zlib::GzipReader (e.g. for compressed requests). Closes GH-1553.
|
560
687
|
* [Apache] Improves detection of Apache configuration file problems. Closes GH-1577.
|
561
688
|
* [Enterprise] Fixes installation of the Passenger Enterprise Apache module on Debian Testing.
|
562
|
-
* Fixes logging of HTTP response code for Union Station. This regression was introduced by Passenger 5. Closes GH-1581.
|
689
|
+
* Fixes logging of HTTP response code for Union Station. This regression was introduced by Passenger 5. Closes GH-1581.
|
563
690
|
* Adds a new subcommand `passenger-config about support-binaries-dir`.
|
564
691
|
* Fixes a regression in the Node.js loader with regard to custom startup files. This bug was introduced in 5.0.14. Closes GH-1557 (again).
|
565
692
|
* Fixes a crash when a Ruby application is accessed through a sub-URI and a root virtual host at the same time.
|
@@ -2380,9 +2507,9 @@ Release 2.2.15
|
|
2380
2507
|
* [Apache] Fixed incorrect temp dir cleanup by passenger-status
|
2381
2508
|
On some systems, running passenger-status could print the following
|
2382
2509
|
message:
|
2383
|
-
|
2510
|
+
|
2384
2511
|
*** Cleaning stale folder /tmp/passenger.1234
|
2385
|
-
|
2512
|
+
|
2386
2513
|
...after which Phusion Passenger breaks because that directory is
|
2387
2514
|
necessary for it to function properly. The cause of this problem
|
2388
2515
|
has been found and has been fixed.
|
@@ -2459,10 +2586,10 @@ Release 2.2.11
|
|
2459
2586
|
affects Apache. When under high load, Apache might freeze and stop
|
2460
2587
|
responding to requests. It is caused by a race condition which is
|
2461
2588
|
why it escaped our last release testing.
|
2462
|
-
|
2589
|
+
|
2463
2590
|
This problem does not affect Nginx; you only have to upgrade if
|
2464
2591
|
you're using Apache.
|
2465
|
-
|
2592
|
+
|
2466
2593
|
http://groups.google.com/group/phusion-passenger/t/d5bb2f17c8446ea0
|
2467
2594
|
|
2468
2595
|
|
@@ -2484,20 +2611,20 @@ Release 2.2.9
|
|
2484
2611
|
Actually, previous Phusion Passenger releases were already compatible
|
2485
2612
|
with Rails 3, depending on the spawn method that would be invoked. Here's
|
2486
2613
|
the story:
|
2487
|
-
|
2614
|
+
|
2488
2615
|
Since Phusion Passenger 2.2.8, when the file config.ru exists, Phusion
|
2489
2616
|
Passenger will treat the app as a Rack app, not as a Rails app. This is
|
2490
2617
|
in contrast to earlier versions which gave Rails detection more priority
|
2491
2618
|
than Rack detection. Phusion Passenger loads Rack apps and Rails apps in
|
2492
2619
|
different ways. The Rails loader was not compatible with Rails 3, which
|
2493
2620
|
is what we've fixed in this release.
|
2494
|
-
|
2621
|
+
|
2495
2622
|
That said, a Rails 3 app would have worked out-of-the-box on Phusion
|
2496
2623
|
Passenger 2.2.8 as well because Rails 3 apps include a config.ru file
|
2497
2624
|
by default, causing Phusion Passenger 2.2.8 to use the Rack loader.
|
2498
2625
|
Earlier versions of Phusion Passenger would just completely bail out
|
2499
2626
|
because they'd use the Rails loader.
|
2500
|
-
|
2627
|
+
|
2501
2628
|
That said, with 2.2.9 there are still some caveats:
|
2502
2629
|
- Smart spawning (the mechanism with which REE's 33% memory reduction
|
2503
2630
|
is implemented) is *not* supported for Rack apps. This means that if
|
@@ -2506,7 +2633,7 @@ Release 2.2.9
|
|
2506
2633
|
- Rails 3 depends on Rack 1.1.0. You must have Rack 1.1.0 installed as
|
2507
2634
|
a gem, even if you've bundled it with the gem bundler. This is because
|
2508
2635
|
Phusion Passenger itself depends on Rack.
|
2509
|
-
|
2636
|
+
|
2510
2637
|
Both of these caveats are temporary. We have plans to solve both of these
|
2511
2638
|
properly in the future.
|
2512
2639
|
* What's up with the Gem Bundler?
|
@@ -2516,9 +2643,9 @@ Release 2.2.9
|
|
2516
2643
|
version seems to work fine. Please note that you need to insert the
|
2517
2644
|
following snippet in config/preinitializer.rb, as instructed by the gem
|
2518
2645
|
bundler's README:
|
2519
|
-
|
2646
|
+
|
2520
2647
|
require "#{RAILS_ROOT}/vendor/gems/environment"
|
2521
|
-
|
2648
|
+
|
2522
2649
|
The Rails::Boot monkey patching code as posted at
|
2523
2650
|
http://yehudakatz.com/2009/11/03/using-the-new-gem-bundler-today/
|
2524
2651
|
does not seem to be required anymore.
|
@@ -2567,7 +2694,7 @@ Release 2.2.8
|
|
2567
2694
|
seen an error message along the lines of
|
2568
2695
|
|
2569
2696
|
*** Exception IOError in Passenger RequestHandler (closed stream)
|
2570
|
-
|
2697
|
+
|
2571
2698
|
then this is a Ruby bug at work. This bug has been fixed in Ruby 1.9.2,
|
2572
2699
|
but Ruby 1.9.1 still contains this bug. We've added a workaround so that
|
2573
2700
|
the bug is not triggered with this Ruby version. Issue #432.
|
@@ -2658,7 +2785,7 @@ Release 2.2.5
|
|
2658
2785
|
headers. It turns out that some people relied on the old behavior, we so now
|
2659
2786
|
environment variables set with mod_env are set in both ENV and in the CGI
|
2660
2787
|
environment.
|
2661
|
-
|
2788
|
+
|
2662
2789
|
Fixes bug #335.
|
2663
2790
|
|
2664
2791
|
* [Apache] Fixed compilation problems on some Linux systems with older versions of Apache
|
@@ -2726,7 +2853,7 @@ Release 2.2.5
|
|
2726
2853
|
order: first models, then controllers, then helpers.
|
2727
2854
|
|
2728
2855
|
Bug #359.
|
2729
|
-
|
2856
|
+
|
2730
2857
|
* Fixed a few bugs in WSGI compliance
|
2731
2858
|
PATH_INFO is supposed to be set to the request URI, but without the query
|
2732
2859
|
string and without the base URI. This has been fixed: bug #360.
|
data/CONTRIBUTORS
CHANGED
@@ -40,6 +40,7 @@ Gokulnath Manakkattil
|
|
40
40
|
Gregory Potamianos
|
41
41
|
Hongli Lai (Phusion)
|
42
42
|
Ian Ehlert
|
43
|
+
Ian Kottman
|
43
44
|
Igor Vuk
|
44
45
|
isaac
|
45
46
|
Isaac Reuben
|
@@ -63,6 +64,7 @@ Luuk Hafkamp (Phusion)
|
|
63
64
|
Luuk Hendriks (Phusion)
|
64
65
|
MAEDA Go
|
65
66
|
Magnus Holm
|
67
|
+
Mark R. James
|
66
68
|
Michal Papis
|
67
69
|
Michał Pokrywka
|
68
70
|
Mike
|
@@ -72,6 +74,7 @@ Nathaniel Bibler
|
|
72
74
|
Neil Wilson
|
73
75
|
Ninh Bui (Phusion)
|
74
76
|
Oleksiy Shchukin
|
77
|
+
Olle Jonsson
|
75
78
|
Pat Downey
|
76
79
|
Paul B
|
77
80
|
Paul Kmiec
|
@@ -79,6 +82,7 @@ Pepijn Looije
|
|
79
82
|
Perry Smith
|
80
83
|
Philip M. Gollucci
|
81
84
|
PikachuEXE
|
85
|
+
plmnikulin
|
82
86
|
Po-Chuan Hsieh
|
83
87
|
Radagaisus
|
84
88
|
Redmar Kerkhoff
|
@@ -87,11 +91,13 @@ Richard Michael
|
|
87
91
|
Rob Paisley
|
88
92
|
Robin Bowes
|
89
93
|
Romain Tartière
|
94
|
+
ROMB
|
90
95
|
Ruslan Ermilov (NGINX Inc)
|
91
96
|
Ryan Schwartz
|
92
97
|
Ryo Onodera
|
93
98
|
Saimon Moore
|
94
99
|
Sam Pohlenz
|
100
|
+
Saverio Miroddi
|
95
101
|
Sean Wilkinson
|
96
102
|
Sebastian Delmont
|
97
103
|
Sebastian Welther
|
@@ -268,7 +268,7 @@ private
|
|
268
268
|
new_screen
|
269
269
|
puts "<banner>PCRE (required by Nginx) not installed, downloading it...</banner>"
|
270
270
|
|
271
|
-
url = "
|
271
|
+
url = "https://ftp.pcre.org/pub/pcre/pcre-#{PREFERRED_PCRE_VERSION}.tar.gz"
|
272
272
|
dirname = "pcre-#{PREFERRED_PCRE_VERSION}"
|
273
273
|
tarball = "#{@working_dir}/pcre.tar.gz"
|
274
274
|
|
data/bin/passenger-status
CHANGED
@@ -55,6 +55,8 @@ DEFAULT_OPTIONS = { :show => 'pool', :color => STDOUT.tty? }.freeze
|
|
55
55
|
def command_show_status(argv, options)
|
56
56
|
if argv.empty?
|
57
57
|
instance = find_sole_instance
|
58
|
+
elsif options[:pid_identifier]
|
59
|
+
instance = find_instance_by_watchdog_pid(argv[0].to_i)
|
58
60
|
else
|
59
61
|
instance = find_instance_by_name_prefix(argv[0])
|
60
62
|
end
|
@@ -100,6 +102,16 @@ def find_instance_by_name_prefix(name)
|
|
100
102
|
end
|
101
103
|
end
|
102
104
|
|
105
|
+
def find_instance_by_watchdog_pid(pid)
|
106
|
+
instance = InstanceRegistry.new.find_by_watchdog_pid(pid)
|
107
|
+
|
108
|
+
if instance
|
109
|
+
return instance
|
110
|
+
else
|
111
|
+
abort "ERROR: there doesn't seem to be a #{PROGRAM_NAME} instance running with the pid #{pid}."
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
103
115
|
def show_status(instance, options)
|
104
116
|
# if the noshow override is not specified, the default is to show the header, unless show=xml
|
105
117
|
if options[:noheader] != true && options[:show] != 'xml'
|
@@ -292,6 +304,9 @@ def create_option_parser(options)
|
|
292
304
|
opts.on("--force-colors", "Display colors even if stdout is not a TTY") do
|
293
305
|
options[:color] = true
|
294
306
|
end
|
307
|
+
opts.on("--pid-identifier", "Identify instance by [Watchdog] PID, rather than name.") do
|
308
|
+
options[:pid_identifier] = true
|
309
|
+
end
|
295
310
|
opts.on("--verbose", "-v", "Show verbose information.") do
|
296
311
|
options[:verbose] = true
|
297
312
|
end
|
data/build/misc.rb
CHANGED
@@ -143,6 +143,8 @@ task :contributors do
|
|
143
143
|
entries.push "Floor Drees (Phusion)"
|
144
144
|
entries.delete "Luuk Hafkamp"
|
145
145
|
entries.push "Luuk Hafkamp (Phusion)"
|
146
|
+
entries.delete "Luuk Hendriks"
|
147
|
+
entries.push "Luuk Hendriks (Phusion)"
|
146
148
|
|
147
149
|
# Non-employee contributors
|
148
150
|
entries.push "Ruslan Ermilov (NGINX Inc)"
|
@@ -152,7 +154,7 @@ task :contributors do
|
|
152
154
|
entries.push "Yichun Zhang"
|
153
155
|
|
154
156
|
File.open("CONTRIBUTORS", "w") do |f|
|
155
|
-
f.puts(entries.sort{ |a, b| a.downcase <=> b.downcase }.join("\n"))
|
157
|
+
f.puts(entries.sort{ |a, b| a.downcase <=> b.downcase }.uniq.join("\n"))
|
156
158
|
end
|
157
159
|
puts "Updated CONTRIBUTORS"
|
158
160
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
# Copyright (c) 2016 Phusion Holding B.V.
|
3
|
+
# Copyright (c) 2016-2018 Phusion Holding B.V.
|
4
4
|
#
|
5
5
|
# "Union Station" and "Passenger" are trademarks of Phusion Holding B.V.
|
6
6
|
#
|
@@ -360,13 +360,66 @@ module CxxCodeBuilder
|
|
360
360
|
# bar(int x) {
|
361
361
|
# printf("x = %d\n", x);
|
362
362
|
# }
|
363
|
-
def function(declaration, body = nil)
|
363
|
+
def function(declaration, body = nil, &block)
|
364
|
+
function_or_constructor(declaration, nil, body, &block)
|
365
|
+
end
|
366
|
+
|
367
|
+
# Adds a C++ constructor definition to the internal buffer. This is
|
368
|
+
# like #function, but also allows defining member initializers.
|
369
|
+
# `member_initializers` is a Hash which maps field names to their
|
370
|
+
# initialization expressions.
|
371
|
+
#
|
372
|
+
# Example:
|
373
|
+
#
|
374
|
+
# member_initializers = {
|
375
|
+
# 'name' => '"Delorean"',
|
376
|
+
# 'color' => 'COLOR_RED'
|
377
|
+
# }
|
378
|
+
# constructor('Car::Car()', member_initializers) do
|
379
|
+
# add_code 'printf("Created a car\n");'
|
380
|
+
# end
|
381
|
+
#
|
382
|
+
# Output:
|
383
|
+
#
|
384
|
+
# Car::Car()
|
385
|
+
# : name("Delorean"),
|
386
|
+
# color(COLOR_RED)
|
387
|
+
# {
|
388
|
+
# printf("Created a car\n");
|
389
|
+
# }
|
390
|
+
def constructor(declaration, member_initializers, body = nil, &block)
|
391
|
+
function_or_constructor(declaration, member_initializers, body, &block)
|
392
|
+
end
|
393
|
+
|
394
|
+
def function_or_constructor(declaration, member_initializers, body = nil)
|
364
395
|
declaration =~ /(.*?)([a-z0-9_:]+)\s*\((.*)\s*(const)?/mi
|
365
396
|
return_type_and_attributes = $1
|
366
397
|
name_and_params = "#{$2}(#{$3} #{$4}".strip
|
367
398
|
|
368
399
|
add_code return_type_and_attributes.strip
|
369
|
-
|
400
|
+
if member_initializers && !member_initializers.empty?
|
401
|
+
add_code "#{name_and_params.strip}"
|
402
|
+
indent do
|
403
|
+
member_initializers.each_with_index do |elem, i|
|
404
|
+
field, expr = elem
|
405
|
+
if i == 0
|
406
|
+
prefix = @indent_string * @indent_level + ': '
|
407
|
+
else
|
408
|
+
prefix = @indent_string * @indent_level + ' '
|
409
|
+
end
|
410
|
+
if i == member_initializers.size - 1
|
411
|
+
suffix = nil
|
412
|
+
else
|
413
|
+
suffix = ','
|
414
|
+
end
|
415
|
+
add_raw_code("#{prefix}#{field}(#{expr})#{suffix}\n")
|
416
|
+
end
|
417
|
+
end
|
418
|
+
add_code '{'
|
419
|
+
else
|
420
|
+
add_code "#{name_and_params.strip} {"
|
421
|
+
end
|
422
|
+
|
370
423
|
indent do
|
371
424
|
if block_given?
|
372
425
|
yield
|