passenger 5.1.2 → 5.1.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG +19 -2
- data/LICENSE +1 -1
- data/bin/passenger +1 -1
- data/bin/passenger-config +1 -1
- data/bin/passenger-install-apache2-module +12 -3
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-memory-stats +1 -1
- data/bin/passenger-status +1 -1
- data/build/agent.rb +1 -1
- data/build/apache2.rb +1 -1
- data/build/basics.rb +1 -1
- data/build/common_library.rb +1 -1
- data/build/cxx_tests.rb +1 -1
- data/build/documentation.rb +1 -1
- data/build/integration_tests.rb +1 -1
- data/build/misc.rb +1 -1
- data/build/nginx.rb +1 -1
- data/build/node_tests.rb +1 -1
- data/build/oxt_tests.rb +1 -1
- data/build/packaging.rb +15 -2
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -1
- data/build/support/cplusplus.rb +4 -3
- data/build/support/cxx_dependency_map.rb +2 -1
- data/build/support/general.rb +1 -1
- data/build/test_basics.rb +1 -1
- data/dev/ci/run_travis.sh +2 -1
- data/dev/copy_boost_headers +3 -3
- data/dev/index_cxx_dependencies.rb +4 -2
- data/doc/Users guide Apache.html +1 -1
- data/resources/templates/error_layout.html.template +1 -1
- data/resources/templates/undisclosed_error.html.template +1 -1
- data/src/agent/AgentMain.cpp +1 -1
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/AbstractSession.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/Common.h +1 -1
- data/src/agent/Core/ApplicationPool/Context.h +1 -1
- data/src/agent/Core/ApplicationPool/ErrorRenderer.h +1 -1
- data/src/agent/Core/ApplicationPool/Group.h +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +5 -5
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +13 -13
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Options.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +4 -4
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Process.h +1 -1
- data/src/agent/Core/ApplicationPool/Session.h +1 -1
- data/src/agent/Core/ApplicationPool/Socket.h +1 -1
- data/src/agent/Core/ApplicationPool/TestSession.h +1 -1
- data/src/agent/Core/Controller.h +1 -1
- data/src/agent/Core/Controller/AppResponse.h +1 -1
- data/src/agent/Core/Controller/BufferBody.cpp +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +1 -1
- data/src/agent/Core/Controller/Client.h +1 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +1 -1
- data/src/agent/Core/Controller/Hooks.cpp +1 -1
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +1 -1
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/Controller/InternalUtils.cpp +1 -1
- data/src/agent/Core/Controller/Miscellaneous.cpp +1 -1
- data/src/agent/Core/Controller/Request.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +1 -1
- data/src/agent/Core/Controller/StateInspectionAndConfiguration.cpp +1 -1
- data/src/agent/Core/Controller/TurboCaching.h +1 -1
- data/src/agent/Core/CoreMain.cpp +2 -2
- data/src/agent/Core/OptionParser.h +1 -1
- data/src/agent/Core/ResponseCache.h +1 -1
- data/src/agent/Core/SecurityUpdateChecker.h +5 -115
- data/src/agent/Core/SpawningKit/BackgroundIOCapturer.h +7 -7
- data/src/agent/Core/SpawningKit/Config.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +12 -7
- data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Options.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/Result.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +13 -8
- data/src/agent/Core/SpawningKit/Spawner.h +8 -5
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
- data/src/agent/Core/UnionStation/Connection.h +3 -3
- data/src/agent/Core/UnionStation/Context.h +1 -1
- data/src/agent/Core/UnionStation/StopwatchLog.h +1 -1
- data/src/agent/Core/UnionStation/Transaction.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +1 -1
- data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
- data/src/agent/Shared/Base.cpp +1 -1
- data/src/agent/Shared/Base.h +1 -1
- data/src/agent/SpawnPreparer/SpawnPreparerMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/UstRouter/ApiServer.h +1 -1
- data/src/agent/UstRouter/Client.h +1 -1
- data/src/agent/UstRouter/Controller.h +1 -1
- data/src/agent/UstRouter/FileSink.h +1 -1
- data/src/agent/UstRouter/LogSink.h +1 -1
- data/src/agent/UstRouter/OptionParser.h +1 -1
- data/src/agent/UstRouter/RemoteSender.h +1 -1
- data/src/agent/UstRouter/RemoteSink.h +1 -1
- data/src/agent/UstRouter/Transaction.h +1 -1
- data/src/agent/UstRouter/UstRouterMain.cpp +2 -2
- data/src/agent/Watchdog/AgentWatcher.cpp +14 -14
- data/src/agent/Watchdog/ApiServer.h +1 -1
- data/src/agent/Watchdog/CoreWatcher.cpp +1 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +6 -6
- data/src/agent/Watchdog/UstRouterWatcher.cpp +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +5 -5
- data/src/apache2_module/Bucket.cpp +1 -1
- data/src/apache2_module/Bucket.h +1 -1
- data/src/apache2_module/Configuration.cpp +1 -1
- data/src/apache2_module/Configuration.h +1 -1
- data/src/apache2_module/Configuration.hpp +1 -1
- data/src/apache2_module/ConfigurationCommands.cpp +1 -1
- data/src/apache2_module/ConfigurationCommands.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigurationFields.hpp +1 -1
- data/src/apache2_module/ConfigurationFields.hpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigurationSetters.cpp +1 -1
- data/src/apache2_module/ConfigurationSetters.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/CreateDirConfig.cpp +1 -1
- data/src/apache2_module/CreateDirConfig.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirectoryMapper.h +1 -1
- data/src/apache2_module/Hooks.cpp +5 -5
- data/src/apache2_module/Hooks.h +1 -1
- data/src/apache2_module/MergeDirConfig.cpp +1 -1
- data/src/apache2_module/MergeDirConfig.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/SetHeaders.cpp +1 -1
- data/src/apache2_module/SetHeaders.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/mod_passenger.c +1 -1
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
- data/src/cxx_supportlib/AppTypes.cpp +1 -1
- data/src/cxx_supportlib/AppTypes.h +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -1
- data/src/cxx_supportlib/Crypto.cpp +28 -7
- data/src/cxx_supportlib/Crypto.h +2 -1
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +1 -1
- data/src/cxx_supportlib/DataStructures/LString.cpp +1 -1
- data/src/cxx_supportlib/DataStructures/LString.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/Exceptions.cpp +1 -1
- data/src/cxx_supportlib/Exceptions.h +1 -1
- data/src/cxx_supportlib/FileDescriptor.h +4 -4
- data/src/cxx_supportlib/Hooks.h +1 -1
- data/src/cxx_supportlib/InstanceDirectory.h +1 -1
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
- data/src/cxx_supportlib/Logging.cpp +1 -1
- data/src/cxx_supportlib/Logging.h +3 -3
- data/src/cxx_supportlib/LveLoggingDecorator.h +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
- data/src/cxx_supportlib/MessageClient.h +1 -1
- data/src/cxx_supportlib/MessageReadersWriters.h +1 -1
- data/src/cxx_supportlib/RandomGenerator.h +2 -2
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Client.h +1 -1
- data/src/cxx_supportlib/ServerKit/ClientRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +1 -1
- data/src/cxx_supportlib/ServerKit/CookieUtils.h +1 -1
- data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
- data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HeaderTable.h +1 -1
- data/src/cxx_supportlib/ServerKit/Hooks.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpClient.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Implementation.cpp +1 -1
- data/src/cxx_supportlib/ServerKit/Server.h +1 -1
- data/src/cxx_supportlib/StaticString.h +1 -1
- data/src/cxx_supportlib/UnionStationFilterSupport.cpp +1 -1
- data/src/cxx_supportlib/UnionStationFilterSupport.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +16 -16
- data/src/cxx_supportlib/Utils.h +1 -1
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
- data/src/cxx_supportlib/Utils/BlockingQueue.h +1 -1
- data/src/cxx_supportlib/Utils/BufferedIO.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.cpp +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +1 -1
- data/src/cxx_supportlib/Utils/ClassUtils.h +1 -1
- data/src/cxx_supportlib/Utils/Curl.h +1 -1
- data/src/cxx_supportlib/Utils/DateParsing.h +1 -1
- data/src/cxx_supportlib/Utils/FastStringStream.h +1 -1
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
- data/src/cxx_supportlib/Utils/HashMap.h +1 -1
- data/src/cxx_supportlib/Utils/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Utils/Hasher.h +1 -1
- data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
- data/src/cxx_supportlib/Utils/IOUtils.cpp +1 -1
- data/src/cxx_supportlib/Utils/IOUtils.h +1 -1
- data/src/cxx_supportlib/Utils/IniFile.h +1 -1
- data/src/cxx_supportlib/Utils/JsonUtils.h +1 -1
- data/src/cxx_supportlib/Utils/LargeFiles.h +1 -1
- data/src/cxx_supportlib/Utils/MemZeroGuard.h +1 -1
- data/src/cxx_supportlib/Utils/MemoryBarrier.h +1 -1
- data/src/cxx_supportlib/Utils/MessageIO.h +1 -1
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/OptionParsing.h +1 -1
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +2 -3
- data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +1 -1
- data/src/cxx_supportlib/Utils/ScopeGuard.h +5 -5
- data/src/cxx_supportlib/Utils/SpeedMeter.h +1 -1
- data/src/cxx_supportlib/Utils/StrIntUtils.cpp +1 -1
- data/src/cxx_supportlib/Utils/StrIntUtils.h +1 -1
- data/src/cxx_supportlib/Utils/StrIntUtilsNoStrictAliasing.cpp +1 -1
- data/src/cxx_supportlib/Utils/StringMap.h +1 -1
- data/src/cxx_supportlib/Utils/StringScanning.h +1 -1
- data/src/cxx_supportlib/Utils/SystemMetricsCollector.h +1 -1
- data/src/cxx_supportlib/Utils/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/Utils/SystemTime.h +1 -1
- data/src/cxx_supportlib/Utils/Timer.h +1 -1
- data/src/cxx_supportlib/Utils/VariantMap.h +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.cpp +2 -2
- data/src/cxx_supportlib/WatchdogLauncher.h +9 -9
- data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +3 -3
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
- data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
- data/src/cxx_supportlib/oxt/macros.hpp +1 -1
- data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.cpp +4 -4
- data/src/cxx_supportlib/oxt/system_calls.hpp +2 -2
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -1
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +1 -1
- data/src/helper-scripts/backtrace-sanitizer.rb +1 -1
- data/src/helper-scripts/crash-watch.rb +1 -1
- data/src/helper-scripts/download_binaries/extconf.rb +1 -1
- data/src/helper-scripts/meteor-loader.rb +1 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -1
- data/src/helper-scripts/rack-loader.rb +6 -6
- data/src/helper-scripts/rack-preloader.rb +7 -7
- data/src/helper-scripts/wsgi-loader.py +1 -1
- data/src/nginx_module/CacheLocationConfig.c +1 -1
- data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -1
- data/src/nginx_module/Configuration.c +1 -1
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ConfigurationCommands.c +1 -1
- data/src/nginx_module/ConfigurationCommands.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ContentHandler.c +1 -1
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/CreateLocationConfig.c +1 -1
- data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig.h +1 -1
- data/src/nginx_module/LocationConfig.h.cxxcodebuilder +1 -1
- data/src/nginx_module/MergeLocationConfig.c +1 -1
- data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -1
- data/src/nginx_module/StaticContentHandler.c +1 -1
- data/src/nginx_module/StaticContentHandler.h +1 -1
- data/src/nginx_module/ngx_http_passenger_module.c +1 -1
- data/src/nginx_module/ngx_http_passenger_module.h +1 -1
- data/src/nodejs_supportlib/phusion_passenger/line_reader.js +1 -1
- data/src/nodejs_supportlib/phusion_passenger/log_express.js +1 -1
- data/src/nodejs_supportlib/phusion_passenger/log_mongodb.js +1 -1
- data/src/nodejs_supportlib/phusion_passenger/ustreporter.js +2 -2
- data/src/nodejs_supportlib/phusion_passenger/ustrouter_connector.js +2 -2
- data/src/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_native_extension/passenger_native_support.c +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +16 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +12 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +21 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/macos.rb +45 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +1 -1
- metadata +4 -9
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.0 +0 -15477
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.1 +0 -15477
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/requests +0 -324
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.0 +0 -3105
- data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.1 +0 -703
- data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml +0 -4
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2015 Phusion Holding B.V.
|
3
|
+
* Copyright (c) 2015-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
data/src/agent/Core/CoreMain.cpp
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -947,7 +947,7 @@ apiServerShutdownFinished(Core::ApiServer::ApiServer *server) {
|
|
947
947
|
*/
|
948
948
|
static void
|
949
949
|
waitForExitEvent() {
|
950
|
-
this_thread::disable_syscall_interruption dsi;
|
950
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
951
951
|
WorkingObjects *wo = workingObjects;
|
952
952
|
fd_set fds;
|
953
953
|
int largestFd = -1;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -59,11 +59,6 @@ private:
|
|
59
59
|
string serverVersion;
|
60
60
|
CurlProxyInfo proxyInfo;
|
61
61
|
Crypto *crypto;
|
62
|
-
#if BOOST_OS_MACOS
|
63
|
-
SecKeychainRef defaultKeychain;
|
64
|
-
SecKeychainRef keychain;
|
65
|
-
bool usingPassengerKeychain;
|
66
|
-
#endif
|
67
62
|
|
68
63
|
void threadMain() {
|
69
64
|
TRACE_POINT();
|
@@ -227,8 +222,8 @@ private:
|
|
227
222
|
}
|
228
223
|
|
229
224
|
#if BOOST_OS_MACOS
|
230
|
-
//
|
231
|
-
if (!
|
225
|
+
// preauth the security update check key in the user's keychain (this is for libcurl's benefit because they don't bother to authorize themselves to use the keys they import)
|
226
|
+
if (!crypto->preAuthKey(clientCertPath.c_str(), CLIENT_CERT_PWD, CLIENT_CERT_LABEL)) {
|
232
227
|
return CURLE_SSL_CERTPROBLEM;
|
233
228
|
}
|
234
229
|
if (CURLE_OK != (code = curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "P12"))) {
|
@@ -298,83 +293,6 @@ public:
|
|
298
293
|
checkIntervalSec = 0;
|
299
294
|
#if BOOST_OS_MACOS
|
300
295
|
clientCertPath = locator.getResourcesDir() + "/update_check_client_cert.p12";
|
301
|
-
// Used to keep track of which approach we are using, false means we are preauthing the key in the running user's own keychain; true means we create a private keychain and set it as the default
|
302
|
-
usingPassengerKeychain = false;
|
303
|
-
defaultKeychain = NULL;
|
304
|
-
keychain = NULL;
|
305
|
-
OSStatus status = 0;
|
306
|
-
char pathName [PATH_MAX];
|
307
|
-
UInt32 length = PATH_MAX;
|
308
|
-
memset(pathName, 0, PATH_MAX);
|
309
|
-
|
310
|
-
status = SecKeychainCopyDefault(&defaultKeychain);
|
311
|
-
if (status) {
|
312
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
313
|
-
P_ERROR(string("Getting default keychain failed: ") +
|
314
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8) +
|
315
|
-
" Passenger will not attempt to create a private keychain.");
|
316
|
-
CFRelease(str);
|
317
|
-
} else {
|
318
|
-
status = SecKeychainGetPath(defaultKeychain, &length, pathName);
|
319
|
-
P_DEBUG(string("username is: ") + getProcessUsername());
|
320
|
-
if (status) {
|
321
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
322
|
-
P_ERROR(string("Checking default keychain path failed: ") +
|
323
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8) +
|
324
|
-
" Passenger may use system keychain.");
|
325
|
-
CFRelease(str);
|
326
|
-
pathName[0] = 0; // ensure the pathName compares cleanly
|
327
|
-
} else {
|
328
|
-
P_DEBUG(string("Old default keychain is: ") + pathName);
|
329
|
-
}
|
330
|
-
}
|
331
|
-
// we don't care so much about which user we are, what we care about is is they have their own keychain, if the default keychain is the system keychain, then we need to try and create our own to avoid permissions issues
|
332
|
-
if (strcmp(pathName, "/Library/Keychains/System.keychain") == 0) {
|
333
|
-
usingPassengerKeychain = true;
|
334
|
-
const uint size = 512;
|
335
|
-
uint8_t keychainPassword[size];
|
336
|
-
if (!crypto->generateRandomChars(keychainPassword, size)) {
|
337
|
-
P_CRITICAL("Creating password for Passenger default keychain failed.");
|
338
|
-
usingPassengerKeychain = false;
|
339
|
-
} else {
|
340
|
-
string keychainDir = instancePath;
|
341
|
-
if (instancePath.length() == 0) {
|
342
|
-
char currentPath[PATH_MAX];
|
343
|
-
if (!getcwd(currentPath, PATH_MAX)) {
|
344
|
-
P_ERROR(string("Failed to get cwd: ") + strerror(errno) + " Attempting to use relative path '.'");
|
345
|
-
keychainDir = ".";
|
346
|
-
} else {
|
347
|
-
keychainDir = string(currentPath);
|
348
|
-
}
|
349
|
-
}
|
350
|
-
// create keychain with long random password, then discard password after creation. We receive the keychain unlocked, and no-one else needs to access the keychain.
|
351
|
-
status = SecKeychainCreate((keychainDir + "/passenger.keychain").c_str(), size, keychainPassword, false, NULL, &keychain);
|
352
|
-
memset(keychainPassword, 0, size);
|
353
|
-
if (status) {
|
354
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
355
|
-
P_ERROR(string("Creating Passenger default keychain failed: ") +
|
356
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8) +
|
357
|
-
" Passenger may fail to access system keychain.");
|
358
|
-
CFRelease(str);
|
359
|
-
usingPassengerKeychain = false;
|
360
|
-
} else {
|
361
|
-
// set keychain as default so libcurl uses it.
|
362
|
-
status = SecKeychainSetDefault(keychain);
|
363
|
-
if (status) {
|
364
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
365
|
-
P_ERROR(string("Setting Passenger default keychain failed: ") +
|
366
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8) +
|
367
|
-
" Passenger may fail to access system keychain.");
|
368
|
-
CFRelease(str);
|
369
|
-
usingPassengerKeychain = false;
|
370
|
-
} else if (!crypto->preAuthKey(clientCertPath.c_str(), CLIENT_CERT_PWD, CLIENT_CERT_LABEL)) {
|
371
|
-
P_ERROR("Failed to preauthorize Passenger Client Cert, you may experience popups from the Keychain.");
|
372
|
-
/* } else {
|
373
|
-
we have loaded the security update check key into the private keychain with the correct permissions, so libcurl should be able to use it. */
|
374
|
-
}
|
375
|
-
}
|
376
|
-
}
|
377
|
-
}
|
378
296
|
#else
|
379
297
|
clientCertPath = locator.getResourcesDir() + "/update_check_client_cert.pem";
|
380
298
|
#endif
|
@@ -400,32 +318,6 @@ public:
|
|
400
318
|
if (crypto) {
|
401
319
|
delete crypto;
|
402
320
|
}
|
403
|
-
#if BOOST_OS_MACOS
|
404
|
-
// if using a private keychain, cleanup keychain on shutdown
|
405
|
-
if (usingPassengerKeychain) {
|
406
|
-
OSStatus status = 0;
|
407
|
-
if (defaultKeychain) {
|
408
|
-
status = SecKeychainSetDefault(defaultKeychain);
|
409
|
-
if (status) {
|
410
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
411
|
-
P_ERROR(string("Restoring default keychain failed: ") +
|
412
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8));
|
413
|
-
CFRelease(str);
|
414
|
-
}
|
415
|
-
CFRelease(defaultKeychain);
|
416
|
-
}
|
417
|
-
if (keychain) {
|
418
|
-
status = SecKeychainDelete(keychain);
|
419
|
-
if (status) {
|
420
|
-
CFStringRef str = SecCopyErrorMessageString(status, NULL);
|
421
|
-
P_ERROR(string("Deleting Passenger private keychain failed: ") +
|
422
|
-
CFStringGetCStringPtr(str, kCFStringEncodingUTF8));
|
423
|
-
CFRelease(str);
|
424
|
-
}
|
425
|
-
CFRelease(keychain);
|
426
|
-
}
|
427
|
-
}
|
428
|
-
#endif
|
429
321
|
}
|
430
322
|
|
431
323
|
/**
|
@@ -658,10 +550,8 @@ public:
|
|
658
550
|
} while (0);
|
659
551
|
|
660
552
|
#if BOOST_OS_MACOS
|
661
|
-
//
|
662
|
-
|
663
|
-
crypto->killKey(CLIENT_CERT_LABEL);
|
664
|
-
}
|
553
|
+
// remove the security update check key from the user's keychain so that if we are stopped/crash and are upgraded or reinstalled before restarting we don't have permission problems
|
554
|
+
crypto->killKey(CLIENT_CERT_LABEL);
|
665
555
|
#endif
|
666
556
|
|
667
557
|
if (signatureChars) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -66,14 +66,14 @@ private:
|
|
66
66
|
|
67
67
|
void capture() {
|
68
68
|
TRACE_POINT();
|
69
|
-
while (!this_thread::interruption_requested()) {
|
69
|
+
while (!boost::this_thread::interruption_requested()) {
|
70
70
|
char buf[1024 * 8];
|
71
71
|
ssize_t ret;
|
72
72
|
|
73
73
|
UPDATE_TRACE_POINT();
|
74
74
|
ret = syscalls::read(fd, buf, sizeof(buf));
|
75
75
|
int e = errno;
|
76
|
-
this_thread::disable_syscall_interruption dsi;
|
76
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
77
77
|
if (ret == 0) {
|
78
78
|
break;
|
79
79
|
} else if (ret == -1) {
|
@@ -115,8 +115,8 @@ public:
|
|
115
115
|
~BackgroundIOCapturer() {
|
116
116
|
TRACE_POINT();
|
117
117
|
if (thr != NULL) {
|
118
|
-
this_thread::disable_interruption di;
|
119
|
-
this_thread::disable_syscall_interruption dsi;
|
118
|
+
boost::this_thread::disable_interruption di;
|
119
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
120
120
|
thr->interrupt_and_join();
|
121
121
|
delete thr;
|
122
122
|
thr = NULL;
|
@@ -136,8 +136,8 @@ public:
|
|
136
136
|
string stop() {
|
137
137
|
TRACE_POINT();
|
138
138
|
assert(thr != NULL);
|
139
|
-
this_thread::disable_interruption di;
|
140
|
-
this_thread::disable_syscall_interruption dsi;
|
139
|
+
boost::this_thread::disable_interruption di;
|
140
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
141
141
|
thr->interrupt_and_join();
|
142
142
|
delete thr;
|
143
143
|
thr = NULL;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -28,6 +28,7 @@
|
|
28
28
|
|
29
29
|
#include <Core/SpawningKit/Spawner.h>
|
30
30
|
#include <Constants.h>
|
31
|
+
#include <Logging.h>
|
31
32
|
#include <LveLoggingDecorator.h>
|
32
33
|
#include <limits.h> // for PTHREAD_STACK_MIN
|
33
34
|
#include <pthread.h>
|
@@ -101,7 +102,7 @@ private:
|
|
101
102
|
}
|
102
103
|
|
103
104
|
static void *detachProcessMain(void *arg) {
|
104
|
-
this_thread::disable_syscall_interruption dsi;
|
105
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
105
106
|
pid_t pid = (pid_t) (long) arg;
|
106
107
|
syscalls::waitpid(pid, NULL, 0);
|
107
108
|
return NULL;
|
@@ -126,7 +127,11 @@ private:
|
|
126
127
|
if (shouldLoadShellEnvvars(options, preparation)) {
|
127
128
|
command.push_back(preparation.userSwitching.shell);
|
128
129
|
command.push_back(preparation.userSwitching.shell);
|
129
|
-
|
130
|
+
if (Passenger::getLogLevel() >= LVL_DEBUG3) {
|
131
|
+
command.push_back("-lxc");
|
132
|
+
} else {
|
133
|
+
command.push_back("-lc");
|
134
|
+
}
|
130
135
|
command.push_back("exec \"$@\"");
|
131
136
|
command.push_back("SpawnPreparerShell");
|
132
137
|
} else {
|
@@ -155,8 +160,8 @@ public:
|
|
155
160
|
|
156
161
|
virtual Result spawn(const Options &options) {
|
157
162
|
TRACE_POINT();
|
158
|
-
this_thread::disable_interruption di;
|
159
|
-
this_thread::disable_syscall_interruption dsi;
|
163
|
+
boost::this_thread::disable_interruption di;
|
164
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
160
165
|
P_DEBUG("Spawning new process: appRoot=" << options.appRoot);
|
161
166
|
possiblyRaiseInternalError(options);
|
162
167
|
|
@@ -249,8 +254,8 @@ public:
|
|
249
254
|
UPDATE_TRACE_POINT();
|
250
255
|
Result result;
|
251
256
|
{
|
252
|
-
this_thread::restore_interruption ri(di);
|
253
|
-
this_thread::restore_syscall_interruption rsi(dsi);
|
257
|
+
boost::this_thread::restore_interruption ri(di);
|
258
|
+
boost::this_thread::restore_syscall_interruption rsi(dsi);
|
254
259
|
result = negotiateSpawn(details);
|
255
260
|
}
|
256
261
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2015 Phusion Holding B.V.
|
3
|
+
* Copyright (c) 2015-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2012-
|
3
|
+
* Copyright (c) 2012-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2017 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include <Core/SpawningKit/Spawner.h>
|
30
30
|
#include <Core/SpawningKit/PipeWatcher.h>
|
31
31
|
#include <Constants.h>
|
32
|
+
#include <Logging.h>
|
32
33
|
#include <LveLoggingDecorator.h>
|
33
34
|
|
34
35
|
#include <adhoc_lve.h>
|
@@ -105,7 +106,11 @@ private:
|
|
105
106
|
if (shouldLoadShellEnvvars(options, preparation)) {
|
106
107
|
command.push_back(preparation.userSwitching.shell);
|
107
108
|
command.push_back(preparation.userSwitching.shell);
|
108
|
-
|
109
|
+
if (Passenger::getLogLevel() >= LVL_DEBUG3) {
|
110
|
+
command.push_back("-lxc");
|
111
|
+
} else {
|
112
|
+
command.push_back("-lc");
|
113
|
+
}
|
109
114
|
command.push_back("exec \"$@\"");
|
110
115
|
command.push_back("SpawnPreparerShell");
|
111
116
|
} else {
|
@@ -202,8 +207,8 @@ private:
|
|
202
207
|
|
203
208
|
void startPreloader() {
|
204
209
|
TRACE_POINT();
|
205
|
-
this_thread::disable_interruption di;
|
206
|
-
this_thread::disable_syscall_interruption dsi;
|
210
|
+
boost::this_thread::disable_interruption di;
|
211
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
207
212
|
assert(!preloaderStarted());
|
208
213
|
P_DEBUG("Spawning new preloader: appRoot=" << options.appRoot);
|
209
214
|
checkChrootDirectories(options);
|
@@ -292,8 +297,8 @@ private:
|
|
292
297
|
details.timeout = options.startTimeout * 1000;
|
293
298
|
|
294
299
|
{
|
295
|
-
this_thread::restore_interruption ri(di);
|
296
|
-
this_thread::restore_syscall_interruption rsi(dsi);
|
300
|
+
boost::this_thread::restore_interruption ri(di);
|
301
|
+
boost::this_thread::restore_syscall_interruption rsi(dsi);
|
297
302
|
socketAddress = negotiatePreloaderStartup(details);
|
298
303
|
}
|
299
304
|
this->adminSocket = adminSocket.second;
|
@@ -324,8 +329,8 @@ private:
|
|
324
329
|
|
325
330
|
void stopPreloader() {
|
326
331
|
TRACE_POINT();
|
327
|
-
this_thread::disable_interruption di;
|
328
|
-
this_thread::disable_syscall_interruption dsi;
|
332
|
+
boost::this_thread::disable_interruption di;
|
333
|
+
boost::this_thread::disable_syscall_interruption dsi;
|
329
334
|
|
330
335
|
if (!preloaderStarted()) {
|
331
336
|
return;
|