passenger 6.1.8 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +56 -2
- data/CONTRIBUTING.md +7 -311
- data/CONTRIBUTORS +1 -0
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/bin/passenger +1 -1
- data/bin/passenger-config +1 -1
- data/bin/passenger-install-apache2-module +1 -1
- data/bin/passenger-install-nginx-module +4 -9
- data/bin/passenger-memory-stats +1 -1
- data/bin/passenger-status +1 -1
- data/build/agent.rb +13 -15
- data/build/apache2.rb +13 -16
- data/build/basics.rb +10 -13
- data/build/common_library.rb +5 -9
- data/build/cxx_tests.rb +40 -12
- data/build/integration_tests.rb +5 -2
- data/build/misc.rb +1 -1
- data/build/nginx.rb +1 -1
- data/build/node_tests.rb +1 -1
- data/build/oxt_tests.rb +6 -8
- data/build/packaging.rb +1 -1
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -1
- data/build/schema_printer.rb +13 -15
- data/build/support/cplusplus.rb +61 -69
- data/build/support/cxx_dependency_map.rb +1488 -666
- data/build/support/general.rb +1 -1
- data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +3 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +3 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +3 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +1 -1
- data/build/test_basics.rb +1 -1
- data/dev/copy_boost_headers +1 -1
- data/dev/index_cxx_dependencies.rb +6 -2
- data/dev/libev-changes.patch +108 -0
- data/dev/nginx_version_sha256 +1 -1
- data/dev/ruby_server.rb +1 -6
- data/dev/runner +2 -0
- data/dev/upgrading_libuv.sh +16 -0
- data/doc/BasicArchitectureOverview.md +55 -0
- data/doc/BuildCaching.md +23 -0
- data/doc/BuildSystem.md +49 -0
- data/doc/DebuggingAndStressTesting.md +2 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +1 -0
- data/doc/DevEnvironmentSetup.md +46 -0
- data/doc/DevHandbook.md +28 -0
- data/doc/Packaging.md +1 -1
- data/doc/RunningTests.md +88 -0
- data/doc/{TempFileHandling.md → SecureTempFileHandling.md} +1 -1
- data/doc/{CxxTestingGuide.md → WritingCxxTests.md} +1 -20
- 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/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 +1 -1
- 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 +1 -1
- 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/Group.h +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/AnalyticsCollection.cpp +1 -1
- 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/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Process.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/Config.h +3 -2
- data/src/agent/Core/ConfigChange.cpp +1 -1
- data/src/agent/Core/ConfigChange.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 +8 -5
- data/src/agent/Core/Controller/Client.h +1 -1
- data/src/agent/Core/Controller/Config.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
- data/src/agent/Core/Controller/Hooks.cpp +12 -9
- 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/StateInspection.cpp +1 -1
- data/src/agent/Core/Controller/TurboCaching.h +1 -1
- data/src/agent/Core/Controller.h +1 -1
- data/src/agent/Core/CoreMain.cpp +1 -1
- data/src/agent/Core/OptionParser.h +1 -1
- data/src/agent/Core/ResponseCache.h +1 -1
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Config.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +1 -1
- data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +63 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +3 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Session.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/README.md +3 -3
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Result.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +17 -17
- data/src/agent/Core/SpawningKit/Spawner.h +1 -1
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
- data/src/agent/Core/TelemetryCollector.h +1 -1
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +1 -1
- data/src/agent/MainFunctions.h +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +4 -3
- data/src/agent/Shared/ApiServerUtils.h +15 -11
- data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.h +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.h +1 -1
- data/src/agent/Shared/Fundamentals/Utils.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Utils.h +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/{AgentWatcher.cpp → AgentWatcher.h} +28 -1
- data/src/agent/Watchdog/ApiServer.h +25 -1
- data/src/agent/Watchdog/Config.h +2 -2
- data/src/agent/Watchdog/{CoreWatcher.cpp → CoreWatcher.h} +18 -1
- data/src/agent/Watchdog/{InstanceDirToucher.cpp → InstanceDirToucher.h} +20 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +11 -77
- data/src/agent/Watchdog/WorkingObjects.h +108 -0
- data/src/apache2_module/Bucket.cpp +1 -1
- data/src/apache2_module/Bucket.h +1 -1
- data/src/apache2_module/CBindings.cpp +1 -1
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +104 -104
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/Common.h +1 -1
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +1 -1
- data/src/apache2_module/ConfigGeneral/SetterFuncs.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/DirectoryMapper.h +1 -1
- data/src/apache2_module/Hooks.cpp +8 -2
- data/src/apache2_module/Hooks.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/Utils.h +1 -1
- data/src/apache2_module/mod_passenger.c +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.h +1 -1
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
- data/src/cxx_supportlib/AppLocalConfigFileUtils.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
- data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
- data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +1 -3
- data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +3 -3
- data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Utils.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -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/DataStructures/StringMap.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 +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.h +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +1 -1
- data/src/cxx_supportlib/Hooks.h +1 -1
- data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +12 -27
- data/src/cxx_supportlib/IOTools/IOUtils.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageSerialization.h +1 -1
- data/src/cxx_supportlib/InstanceDirectory.h +1 -1
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
- data/src/cxx_supportlib/JsonTools/Autocast.h +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.h +1 -1
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Assert.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Context.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +11 -1
- data/src/cxx_supportlib/LoggingKit/Logging.h +1 -1
- data/src/cxx_supportlib/LoggingKit/LoggingKit.h +1 -1
- 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/ProcessManagement/Ruby.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.h +1 -1
- data/src/cxx_supportlib/RandomGenerator.h +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +9 -27
- data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
- data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +4 -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/Config.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 +54 -2
- 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 +8 -23
- data/src/cxx_supportlib/StaticString.h +1 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StringScanning.h +1 -1
- data/src/cxx_supportlib/StrIntTools/Template.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +1 -1
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.h +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +1 -1
- data/src/cxx_supportlib/Utils/BlockingQueue.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/FastStringStream.h +1 -1
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
- data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
- data/src/cxx_supportlib/Utils/IniFile.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/ReleaseableScopedPointer.h +1 -1
- data/src/cxx_supportlib/Utils/ScopeGuard.h +1 -1
- data/src/cxx_supportlib/Utils/Socket.cpp +67 -0
- data/src/cxx_supportlib/Utils/Socket.h +35 -0
- data/src/cxx_supportlib/Utils/SpeedMeter.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/Utils.cpp +1 -1
- data/src/cxx_supportlib/Utils.h +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.cpp +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Entry.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- 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/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 +1 -1
- 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 +1 -1
- data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
- 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-copy/libuv/AUTHORS +353 -3
- data/src/cxx_supportlib/vendor-copy/libuv/ChangeLog +3981 -2
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE +1 -28
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-docs +396 -0
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-extra +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.am +275 -58
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.in +4380 -2125
- data/src/cxx_supportlib/vendor-copy/libuv/aclocal.m4 +425 -221
- data/src/cxx_supportlib/vendor-copy/libuv/ar-lib +30 -10
- data/src/cxx_supportlib/vendor-copy/libuv/compile +31 -14
- data/src/cxx_supportlib/vendor-copy/libuv/config.guess +1084 -690
- data/src/cxx_supportlib/vendor-copy/libuv/config.sub +1844 -1297
- data/src/cxx_supportlib/vendor-copy/libuv/configure +6935 -3664
- data/src/cxx_supportlib/vendor-copy/libuv/configure.ac +43 -19
- data/src/cxx_supportlib/vendor-copy/libuv/depcomp +12 -11
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-darwin.h → uv/darwin.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-errno.h → uv/errno.h} +119 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-linux.h → uv/linux.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/os390.h +33 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/posix.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-threadpool.h → uv/threadpool.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/{tree.h → uv/tree.h} +3 -250
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-unix.h → uv/unix.h} +186 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-version.h → uv/version.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/win.h +703 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv.h +528 -40
- data/src/cxx_supportlib/vendor-copy/libuv/install-sh +110 -70
- data/src/cxx_supportlib/vendor-copy/libuv/libuv-static.pc.in +12 -0
- data/src/cxx_supportlib/vendor-copy/libuv/libuv.pc.in +4 -2
- data/src/cxx_supportlib/vendor-copy/libuv/ltmain.sh +995 -619
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ax_pthread.m4 +485 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libtool.m4 +438 -289
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-flags.m4 +21 -4
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-versions.m4 +7 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltoptions.m4 +69 -39
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltsugar.m4 +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltversion.m4 +7 -6
- data/src/cxx_supportlib/vendor-copy/libuv/m4/lt~obsolete.m4 +2 -2
- data/src/cxx_supportlib/vendor-copy/libuv/missing +55 -34
- data/src/cxx_supportlib/vendor-copy/libuv/src/fs-poll.c +52 -20
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.c +560 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/inet.c +5 -16
- data/src/cxx_supportlib/vendor-copy/libuv/src/queue.h +68 -86
- data/src/cxx_supportlib/vendor-copy/libuv/src/random.c +123 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.c +38 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.h +39 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.c +52 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.h +27 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/thread-common.c +175 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/threadpool.c +172 -57
- data/src/cxx_supportlib/vendor-copy/libuv/src/{unix/timer.c → timer.c} +57 -29
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix-common.c +89 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix.c +418 -256
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/async.c +168 -129
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-ifaddrs.c +163 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-proctitle.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/core.c +1312 -378
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/cygwin.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-proctitle.c +18 -32
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-stub.h +97 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-syscalls.h +17 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin.c +41 -139
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/dl.c +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/freebsd.c +75 -235
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fs.c +1308 -299
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fsevents.c +150 -148
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getaddrinfo.c +58 -8
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getnameinfo.c +3 -2
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/haiku.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/hurd.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/ibmi.c +542 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/internal.h +297 -106
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/kqueue.c +325 -94
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux.c +2708 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop-watcher.c +11 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop.c +105 -24
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/netbsd.c +51 -157
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-fsevents.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-proctitle.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c +42 -183
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-proctitle.c +136 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.c +536 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.h +75 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390.c +1070 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pipe.c +324 -55
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/poll.c +58 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-hrtime.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-poll.c +385 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/process.c +795 -248
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/procfs-exepath.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/proctitle.c +77 -22
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/qnx.c +142 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-devurandom.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getentropy.c +57 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getrandom.c +86 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-sysctl-linux.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/signal.c +147 -39
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/stream.c +426 -474
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sunos.c +240 -98
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-loadavg.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-memory.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tcp.c +402 -91
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/thread.c +497 -145
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tty.c +269 -45
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/udp.c +695 -165
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.c +463 -61
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.h +248 -44
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-data-getter-setters.c +119 -0
- data/src/cxx_supportlib/vendor-copy/libuv/tsansupp.txt +2 -0
- data/src/cxx_supportlib/vendor-modified/libev/Changes +109 -0
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.am +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +47 -33
- data/src/cxx_supportlib/vendor-modified/libev/README +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +1653 -1224
- data/src/cxx_supportlib/vendor-modified/libev/config.guess +376 -316
- data/src/cxx_supportlib/vendor-modified/libev/config.h.in +13 -2
- data/src/cxx_supportlib/vendor-modified/libev/config.sub +156 -154
- data/src/cxx_supportlib/vendor-modified/libev/configure +1431 -940
- data/src/cxx_supportlib/vendor-modified/libev/configure.ac +3 -3
- data/src/cxx_supportlib/vendor-modified/libev/depcomp +5 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +109 -107
- data/src/cxx_supportlib/vendor-modified/libev/ev.c +807 -319
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +111 -105
- data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +42 -29
- data/src/cxx_supportlib/vendor-modified/libev/ev_iouring.c +694 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +15 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev_linuxaio.c +620 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +19 -14
- data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +6 -6
- data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +48 -3
- data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +2 -2
- data/src/cxx_supportlib/vendor-modified/libev/ev_wrap.h +72 -0
- data/src/cxx_supportlib/vendor-modified/libev/install-sh +23 -13
- data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -1
- data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +3581 -1993
- data/src/cxx_supportlib/vendor-modified/libev/missing +8 -8
- data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +3 -3
- 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 +4 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -1
- data/src/helper-scripts/rack-loader.rb +4 -1
- data/src/helper-scripts/rack-preloader.rb +4 -1
- data/src/helper-scripts/wsgi-loader.py +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +1 -1
- data/src/nginx_module/Configuration.c +1 -1
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ContentHandler.c +14 -2
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.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/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_native_extension/passenger_native_support.c +1 -1
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +4 -12
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -10
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -2
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -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 +7 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +197 -11
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +13 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +4 -7
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +5 -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 +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +8 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +10 -8
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +4 -0
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +5 -13
- data/src/ruby_supportlib/phusion_passenger/utils.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +10 -6
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +8 -4
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +395 -579
- data/src/ruby_supportlib/phusion_passenger.rb +10 -8
- data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
- data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
- metadata +76 -36
- data/doc/DeveloperQuickstart.md +0 -70
- data/src/README.md +0 -7
- data/src/cxx_supportlib/vendor-copy/libuv/README.md +0 -245
- data/src/cxx_supportlib/vendor-copy/libuv/checksparse.sh +0 -234
- data/src/cxx_supportlib/vendor-copy/libuv/common.gypi +0 -210
- data/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py +0 -93
- data/src/cxx_supportlib/vendor-copy/libuv/include/android-ifaddrs.h +0 -54
- data/src/cxx_supportlib/vendor-copy/libuv/include/pthread-fixes.h +0 -72
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/android-ifaddrs.c +0 -703
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/atomic-ops.h +0 -77
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-core.c +0 -899
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-inotify.c +0 -285
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.c +0 -471
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.h +0 -158
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pthread-fixes.c +0 -104
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/spinlock.h +0 -53
- data/src/cxx_supportlib/vendor-copy/libuv/uv.gyp +0 -508
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-aix.h → uv/aix.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-bsd.h → uv/bsd.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-sunos.h → uv/sunos.h} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
# THE SOFTWARE.
|
|
24
24
|
|
|
25
25
|
module PhusionPassenger
|
|
26
|
+
|
|
26
27
|
PASSENGER_TXN_ID = "PASSENGER_TXN_ID".freeze
|
|
27
28
|
PASSENGER_APP_GROUP_NAME = "PASSENGER_APP_GROUP_NAME".freeze
|
|
28
29
|
PASSENGER_DELTA_MONOTONIC = "PASSENGER_DELTA_MONOTONIC".freeze
|
|
@@ -41,6 +42,7 @@ module PhusionPassenger
|
|
|
41
42
|
# is automatically generated by the build system from the following
|
|
42
43
|
# definitions.
|
|
43
44
|
module SharedConstants
|
|
45
|
+
|
|
44
46
|
# Default config values
|
|
45
47
|
DEFAULT_LOG_LEVEL = 3
|
|
46
48
|
DEFAULT_LOG_LEVEL_NAME = "notice"
|
|
@@ -131,9 +133,11 @@ module PhusionPassenger
|
|
|
131
133
|
RPM_DEV_PACKAGE = "passenger-devel"
|
|
132
134
|
RPM_APACHE_MODULE_PACKAGE = "mod_passenger"
|
|
133
135
|
RPM_NGINX_PACKAGE = "nginx"
|
|
136
|
+
|
|
134
137
|
end
|
|
135
138
|
|
|
136
139
|
SharedConstants.constants.each do |name|
|
|
137
140
|
const_set(name, SharedConstants.const_get(name)) unless const_defined? name
|
|
138
141
|
end
|
|
142
|
+
|
|
139
143
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -27,6 +27,7 @@ PhusionPassenger.require_passenger_lib 'constants'
|
|
|
27
27
|
module PhusionPassenger
|
|
28
28
|
|
|
29
29
|
module DebugLogging
|
|
30
|
+
|
|
30
31
|
# We don't refer to STDERR directly because STDERR's reference might
|
|
31
32
|
# change during runtime.
|
|
32
33
|
@@log_level = DEFAULT_LOG_LEVEL
|
|
@@ -131,6 +132,7 @@ module PhusionPassenger
|
|
|
131
132
|
end
|
|
132
133
|
end
|
|
133
134
|
module_function :_output
|
|
135
|
+
|
|
134
136
|
end
|
|
135
137
|
|
|
136
138
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: binary
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2011-
|
|
4
|
+
# Copyright (c) 2011-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -28,6 +28,7 @@ module PhusionPassenger
|
|
|
28
28
|
|
|
29
29
|
# Provides shared functions for loader and preloader apps.
|
|
30
30
|
module LoaderSharedHelpers
|
|
31
|
+
|
|
31
32
|
extend self
|
|
32
33
|
|
|
33
34
|
# To be called by the (pre)loader as soon as possible.
|
|
@@ -991,6 +992,7 @@ module PhusionPassenger
|
|
|
991
992
|
def home_dir
|
|
992
993
|
PhusionPassenger.home_dir
|
|
993
994
|
end
|
|
995
|
+
|
|
994
996
|
end
|
|
995
997
|
|
|
996
998
|
end # module PhusionPassenger
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: binary
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2010-
|
|
4
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: binary
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2010-
|
|
4
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
module PhusionPassenger
|
|
26
26
|
|
|
27
27
|
module Packaging
|
|
28
|
+
|
|
28
29
|
# Files that must be generated before packaging.
|
|
29
30
|
PREGENERATED_FILES = [
|
|
30
31
|
'src/cxx_supportlib/Constants.h',
|
|
@@ -93,18 +94,20 @@ module PhusionPassenger
|
|
|
93
94
|
'.github/**/*',
|
|
94
95
|
'.settings/**/*',
|
|
95
96
|
'.vscode/**/*',
|
|
97
|
+
'.agents/**/*',
|
|
96
98
|
'.cproject',
|
|
99
|
+
'.rubocop.yml',
|
|
97
100
|
'compile_commands.json',
|
|
98
101
|
'.gitattributes',
|
|
99
102
|
'.gitignore',
|
|
100
103
|
'.gitmodules',
|
|
101
104
|
'.project',
|
|
105
|
+
'AGENTS.md',
|
|
106
|
+
'CLAUDE.md',
|
|
102
107
|
'CODE_OF_CONDUCT.md',
|
|
103
108
|
'Gemfile',
|
|
104
109
|
'Gemfile.lock',
|
|
105
|
-
'Jenkinsfile',
|
|
106
110
|
'Passenger.sublime-project',
|
|
107
|
-
'Vagrantfile',
|
|
108
111
|
'package-lock.json',
|
|
109
112
|
'build/support/vendor/*/.*',
|
|
110
113
|
'build/support/vendor/*/spec/**/*',
|
|
@@ -122,6 +125,7 @@ module PhusionPassenger
|
|
|
122
125
|
result.reject! { |path| path =~ %r{/\.\.?$} }
|
|
123
126
|
result
|
|
124
127
|
end
|
|
128
|
+
|
|
125
129
|
end
|
|
126
130
|
|
|
127
131
|
end # module PhusionPassenger
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: binary
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2010-
|
|
4
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -44,6 +44,7 @@ module PhusionPassenger
|
|
|
44
44
|
# Apache.
|
|
45
45
|
|
|
46
46
|
module PlatformInfo
|
|
47
|
+
|
|
47
48
|
################ Programs ################
|
|
48
49
|
|
|
49
50
|
# The absolute path to the 'apxs' or 'apxs2' executable, or nil if not found.
|
|
@@ -1032,6 +1033,7 @@ module PhusionPassenger
|
|
|
1032
1033
|
res
|
|
1033
1034
|
end
|
|
1034
1035
|
private_class_method :unescape_c_string
|
|
1036
|
+
|
|
1035
1037
|
end
|
|
1036
1038
|
|
|
1037
1039
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2013-
|
|
2
|
+
# Copyright (c) 2013-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -30,6 +30,7 @@ PhusionPassenger.require_passenger_lib 'utils/ansi_colors'
|
|
|
30
30
|
require 'pathname'
|
|
31
31
|
|
|
32
32
|
module PhusionPassenger
|
|
33
|
+
|
|
33
34
|
module PlatformInfo
|
|
34
35
|
|
|
35
36
|
# Detects all possible Apache installations on the system, and presents the
|
|
@@ -310,4 +311,5 @@ module PhusionPassenger
|
|
|
310
311
|
end
|
|
311
312
|
|
|
312
313
|
end
|
|
314
|
+
|
|
313
315
|
end # module Phusion Passenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -30,6 +30,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
30
30
|
module PhusionPassenger
|
|
31
31
|
|
|
32
32
|
module PlatformInfo
|
|
33
|
+
|
|
33
34
|
# Returns a string that describes the current Ruby
|
|
34
35
|
# interpreter's extension binary compatibility. A Ruby extension
|
|
35
36
|
# compiled for a certain Ruby interpreter can also be loaded on
|
|
@@ -139,6 +140,7 @@ module PhusionPassenger
|
|
|
139
140
|
[ os_arch, os_name_simple, os_runtime ].compact.join("-")
|
|
140
141
|
end
|
|
141
142
|
memoize :cxx_binary_compatibility_id
|
|
143
|
+
|
|
142
144
|
end
|
|
143
145
|
|
|
144
146
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
|
|
25
25
|
PhusionPassenger.require_passenger_lib 'platform_info'
|
|
26
26
|
PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
27
|
+
require 'shellwords'
|
|
27
28
|
|
|
28
29
|
module PhusionPassenger
|
|
29
30
|
|
|
30
31
|
module PlatformInfo
|
|
32
|
+
|
|
31
33
|
private
|
|
32
34
|
def self.detect_language_extension(language)
|
|
33
35
|
case language
|
|
@@ -505,25 +507,208 @@ module PhusionPassenger
|
|
|
505
507
|
end
|
|
506
508
|
memoize :cxx_visibility_flag_generates_warnings?, true
|
|
507
509
|
|
|
508
|
-
def self.
|
|
510
|
+
def self.cc_supports_fsanitize_address?
|
|
509
511
|
if cc_is_clang?
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
"-faddress-sanitizer"
|
|
514
|
-
end
|
|
512
|
+
`#{cc} --help 2>&1` =~ /-fsanitize=/
|
|
513
|
+
elsif cc_is_gcc?
|
|
514
|
+
`#{cc} --help=common 2>&1` =~ /-fsanitize=/
|
|
515
515
|
else
|
|
516
|
-
|
|
516
|
+
false
|
|
517
|
+
end
|
|
518
|
+
end
|
|
519
|
+
memoize :cc_supports_fsanitize_address?, true
|
|
520
|
+
|
|
521
|
+
def self.cxx_supports_fsanitize_address?
|
|
522
|
+
if cxx_is_clang?
|
|
523
|
+
`#{cxx} --help 2>&1` =~ /-fsanitize=/
|
|
524
|
+
elsif cxx_is_gcc?
|
|
525
|
+
`#{cxx} --help=common 2>&1` =~ /-fsanitize=/
|
|
526
|
+
else
|
|
527
|
+
false
|
|
517
528
|
end
|
|
518
529
|
end
|
|
530
|
+
memoize :cxx_supports_fsanitize_address?, true
|
|
519
531
|
|
|
520
|
-
def self.
|
|
532
|
+
def self.address_sanitizer_cflags
|
|
521
533
|
if cc_is_clang?
|
|
534
|
+
if cc_supports_fsanitize_address?
|
|
535
|
+
result = "-fsanitize=address -fsanitize-address-use-after-return=always"
|
|
536
|
+
else
|
|
537
|
+
result = "-faddress-sanitizer"
|
|
538
|
+
end
|
|
539
|
+
elsif cc_supports_fsanitize_address?
|
|
540
|
+
result = "-fsanitize=address"
|
|
541
|
+
end
|
|
542
|
+
|
|
543
|
+
if result
|
|
544
|
+
result << " -fno-omit-frame-pointer"
|
|
545
|
+
result << " -fno-optimize-sibling-calls" if cc_supports_fno_optimize_sibling_calls_flag?
|
|
546
|
+
result
|
|
547
|
+
end
|
|
548
|
+
end
|
|
549
|
+
memoize :address_sanitizer_cflags
|
|
550
|
+
|
|
551
|
+
def self.address_sanitizer_cxxflags
|
|
552
|
+
if cxx_is_clang?
|
|
553
|
+
if cxx_supports_fsanitize_address?
|
|
554
|
+
result = "-fsanitize=address -fsanitize-address-use-after-return=always"
|
|
555
|
+
else
|
|
556
|
+
result = "-faddress-sanitizer"
|
|
557
|
+
end
|
|
558
|
+
elsif cxx_supports_fsanitize_address?
|
|
559
|
+
result = "-fsanitize=address"
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
if result
|
|
563
|
+
result << " -fno-omit-frame-pointer"
|
|
564
|
+
result << " -fno-optimize-sibling-calls" if cxx_supports_fno_optimize_sibling_calls_flag?
|
|
565
|
+
result
|
|
566
|
+
end
|
|
567
|
+
end
|
|
568
|
+
memoize :address_sanitizer_cxxflags
|
|
569
|
+
|
|
570
|
+
def self.address_sanitizer_c_ldflags
|
|
571
|
+
if cc_supports_fsanitize_address?
|
|
572
|
+
result = "-fsanitize=address"
|
|
573
|
+
elsif cc_is_clang?
|
|
574
|
+
result = "-faddress-sanitizer"
|
|
575
|
+
end
|
|
576
|
+
if result && (runtime_flags = cc_sanitizer_runtime_link_flags)
|
|
577
|
+
result << " #{runtime_flags}"
|
|
578
|
+
end
|
|
579
|
+
result
|
|
580
|
+
end
|
|
581
|
+
memoize :address_sanitizer_c_ldflags
|
|
582
|
+
|
|
583
|
+
def self.address_sanitizer_cxx_ldflags
|
|
584
|
+
if cxx_supports_fsanitize_address?
|
|
585
|
+
result = "-fsanitize=address"
|
|
586
|
+
elsif cxx_is_clang?
|
|
587
|
+
result = "-faddress-sanitizer"
|
|
588
|
+
end
|
|
589
|
+
if result && (runtime_flags = cxx_sanitizer_runtime_link_flags)
|
|
590
|
+
result << " #{runtime_flags}"
|
|
591
|
+
end
|
|
592
|
+
result
|
|
593
|
+
end
|
|
594
|
+
memoize :address_sanitizer_cxx_ldflags
|
|
595
|
+
|
|
596
|
+
# Clang uses a static ASAN runtime when linking most ELF shared libraries.
|
|
597
|
+
# A shared library cannot rely on its host executable having initialized that
|
|
598
|
+
# runtime, and even if it did, that runtime may not be compatible.
|
|
599
|
+
# So to ensure ASAN runtime initialization *and* compatibility, we always link
|
|
600
|
+
# to the shared ASAN runtime.
|
|
601
|
+
#
|
|
602
|
+
# GCC and macOS Clang already use a dynamic runtime by default.
|
|
603
|
+
def self.cc_shared_sanitizer_runtime_flag
|
|
604
|
+
return nil if os_name_simple == "macosx" || !cc_is_clang?
|
|
605
|
+
|
|
606
|
+
if `#{cc} --help 2>&1` =~ /-shared-libasan\b/
|
|
607
|
+
"-shared-libasan"
|
|
608
|
+
elsif `#{cc} --help 2>&1` =~ /-shared-libsan\b/
|
|
609
|
+
"-shared-libsan"
|
|
610
|
+
end
|
|
611
|
+
end
|
|
612
|
+
memoize :cc_shared_sanitizer_runtime_flag
|
|
613
|
+
|
|
614
|
+
def self.cc_sanitizer_runtime_dir
|
|
615
|
+
return nil if !cc_is_clang?
|
|
616
|
+
|
|
617
|
+
result = `#{cc} -print-runtime-dir 2>/dev/null`.strip
|
|
618
|
+
result if !result.empty? && File.directory?(result)
|
|
619
|
+
end
|
|
620
|
+
memoize :cc_sanitizer_runtime_dir
|
|
621
|
+
|
|
622
|
+
def self.cc_sanitizer_runtime_link_flags
|
|
623
|
+
if (runtime_flag = cc_shared_sanitizer_runtime_flag)
|
|
624
|
+
result = runtime_flag.dup
|
|
625
|
+
if (runtime_dir = cc_sanitizer_runtime_dir)
|
|
626
|
+
result << " -Wl,-rpath,#{Shellwords.escape(runtime_dir)}"
|
|
627
|
+
end
|
|
628
|
+
result
|
|
629
|
+
end
|
|
630
|
+
end
|
|
631
|
+
memoize :cc_sanitizer_runtime_link_flags
|
|
632
|
+
|
|
633
|
+
# See comment for `#cc_shared_sanitizer_runtime_flag`
|
|
634
|
+
def self.cxx_shared_sanitizer_runtime_flag
|
|
635
|
+
return nil if os_name_simple == "macosx" || !cxx_is_clang?
|
|
636
|
+
|
|
637
|
+
if `#{cxx} --help 2>&1` =~ /-shared-libasan\b/
|
|
638
|
+
"-shared-libasan"
|
|
639
|
+
elsif `#{cxx} --help 2>&1` =~ /-shared-libsan\b/
|
|
640
|
+
"-shared-libsan"
|
|
641
|
+
end
|
|
642
|
+
end
|
|
643
|
+
memoize :cxx_shared_sanitizer_runtime_flag
|
|
644
|
+
|
|
645
|
+
def self.cxx_sanitizer_runtime_dir
|
|
646
|
+
return nil if !cxx_is_clang?
|
|
647
|
+
|
|
648
|
+
result = `#{cxx} -print-runtime-dir 2>/dev/null`.strip
|
|
649
|
+
result if !result.empty? && File.directory?(result)
|
|
650
|
+
end
|
|
651
|
+
memoize :cxx_sanitizer_runtime_dir
|
|
652
|
+
|
|
653
|
+
def self.cxx_sanitizer_runtime_link_flags
|
|
654
|
+
if runtime_flag = cxx_shared_sanitizer_runtime_flag
|
|
655
|
+
result = runtime_flag.dup
|
|
656
|
+
if (runtime_dir = cxx_sanitizer_runtime_dir)
|
|
657
|
+
result << " -Wl,-rpath,#{Shellwords.escape(runtime_dir)}"
|
|
658
|
+
end
|
|
659
|
+
result
|
|
660
|
+
end
|
|
661
|
+
end
|
|
662
|
+
memoize :cxx_sanitizer_runtime_link_flags
|
|
663
|
+
|
|
664
|
+
def self.cxx_address_sanitizer_runtime_library_path
|
|
665
|
+
if cxx_is_gcc?
|
|
666
|
+
result = `#{cxx} -print-file-name=libasan.so 2>/dev/null`.strip
|
|
667
|
+
result if File.file?(result)
|
|
668
|
+
elsif cxx_is_clang? && (runtime_dir = cxx_sanitizer_runtime_dir)
|
|
669
|
+
runtime_arch = cpu_architectures.first
|
|
670
|
+
runtime_arch = "i386" if runtime_arch == "x86"
|
|
671
|
+
runtime_library = File.join(runtime_dir, "libclang_rt.asan-#{runtime_arch}.so")
|
|
672
|
+
runtime_library if File.file?(runtime_library)
|
|
673
|
+
end
|
|
674
|
+
end
|
|
675
|
+
memoize :cxx_address_sanitizer_runtime_library_path
|
|
676
|
+
|
|
677
|
+
def self.undefined_behavior_sanitizer_cflags
|
|
678
|
+
if (cc_is_clang? || cc_is_gcc?) && cc_supports_fsanitize_address?
|
|
679
|
+
"-fsanitize=undefined"
|
|
680
|
+
end
|
|
681
|
+
end
|
|
682
|
+
memoize :undefined_behavior_sanitizer_cflags
|
|
683
|
+
|
|
684
|
+
def self.undefined_behavior_sanitizer_cxxflags
|
|
685
|
+
if (cxx_is_clang? || cxx_is_gcc?) && cxx_supports_fsanitize_address?
|
|
522
686
|
"-fsanitize=undefined"
|
|
523
|
-
else
|
|
524
|
-
nil
|
|
525
687
|
end
|
|
526
688
|
end
|
|
689
|
+
memoize :undefined_behavior_sanitizer_cxxflags
|
|
690
|
+
|
|
691
|
+
def self.undefined_behavior_sanitizer_c_ldflags
|
|
692
|
+
if (cc_is_clang? || cc_is_gcc?) && cc_supports_fsanitize_address?
|
|
693
|
+
result = "-fsanitize=undefined"
|
|
694
|
+
if (runtime_flags = cc_sanitizer_runtime_link_flags)
|
|
695
|
+
result << " #{runtime_flags}"
|
|
696
|
+
end
|
|
697
|
+
result
|
|
698
|
+
end
|
|
699
|
+
end
|
|
700
|
+
memoize :undefined_behavior_sanitizer_c_ldflags
|
|
701
|
+
|
|
702
|
+
def self.undefined_behavior_sanitizer_cxx_ldflags
|
|
703
|
+
if (cxx_is_clang? || cxx_is_gcc?) && cxx_supports_fsanitize_address?
|
|
704
|
+
result = "-fsanitize=undefined"
|
|
705
|
+
if (runtime_flags = cxx_sanitizer_runtime_link_flags)
|
|
706
|
+
result << " #{runtime_flags}"
|
|
707
|
+
end
|
|
708
|
+
result
|
|
709
|
+
end
|
|
710
|
+
end
|
|
711
|
+
memoize :undefined_behavior_sanitizer_cxx_ldflags
|
|
527
712
|
|
|
528
713
|
def self.cxx_14_flag
|
|
529
714
|
source = %{
|
|
@@ -657,6 +842,7 @@ module PhusionPassenger
|
|
|
657
842
|
nil
|
|
658
843
|
end
|
|
659
844
|
end
|
|
845
|
+
|
|
660
846
|
end
|
|
661
847
|
|
|
662
848
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -29,6 +29,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/openssl'
|
|
|
29
29
|
module PhusionPassenger
|
|
30
30
|
|
|
31
31
|
module PlatformInfo
|
|
32
|
+
|
|
32
33
|
def self.crypto_libs
|
|
33
34
|
prefix = ' -framework CoreFoundation -framework Security'
|
|
34
35
|
suffix = ' -lcrypto'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -27,6 +27,7 @@ PhusionPassenger.require_passenger_lib 'platform_info'
|
|
|
27
27
|
module PhusionPassenger
|
|
28
28
|
|
|
29
29
|
module PlatformInfo
|
|
30
|
+
|
|
30
31
|
def self.curl_flags
|
|
31
32
|
result = `(curl-config --cflags) 2>/dev/null`.strip
|
|
32
33
|
if result.empty?
|
|
@@ -60,6 +61,7 @@ module PhusionPassenger
|
|
|
60
61
|
features =~ /SSL/
|
|
61
62
|
end
|
|
62
63
|
memoize :curl_supports_ssl?
|
|
64
|
+
|
|
63
65
|
end
|
|
64
66
|
|
|
65
67
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -29,6 +29,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
29
29
|
module PhusionPassenger
|
|
30
30
|
|
|
31
31
|
module PlatformInfo
|
|
32
|
+
|
|
32
33
|
# Extra flags that should always be passed to the C compiler
|
|
33
34
|
# when linking, to be included last in the command string.
|
|
34
35
|
def self.portability_c_ldflags
|
|
@@ -204,6 +205,7 @@ module PhusionPassenger
|
|
|
204
205
|
result.join(' ')
|
|
205
206
|
end
|
|
206
207
|
private_class_method :portability_c_or_cxx_ldflags
|
|
208
|
+
|
|
207
209
|
end
|
|
208
210
|
|
|
209
211
|
end # module PhusionPassenger
|
|
@@ -9,6 +9,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
9
9
|
PhusionPassenger.require_passenger_lib 'utils/ansi_colors'
|
|
10
10
|
|
|
11
11
|
module PhusionPassenger
|
|
12
|
+
|
|
12
13
|
module PlatformInfo
|
|
13
14
|
|
|
14
15
|
# Almost all software require other software in order to run. We call those
|
|
@@ -38,6 +39,7 @@ module PhusionPassenger
|
|
|
38
39
|
# should print as many details about the dependency as possible (location, version,
|
|
39
40
|
# etc) so that the user can override any decisions if necessary.
|
|
40
41
|
module Depcheck
|
|
42
|
+
|
|
41
43
|
THIS_DIR = File.expand_path(File.dirname(__FILE__))
|
|
42
44
|
@@loaded = {}
|
|
43
45
|
@@database = {}
|
|
@@ -391,7 +393,9 @@ module PhusionPassenger
|
|
|
391
393
|
puts " #{text}"
|
|
392
394
|
end
|
|
393
395
|
end # class ConsoleRunner
|
|
396
|
+
|
|
394
397
|
end # module Depcheck
|
|
395
398
|
|
|
396
399
|
end # module PlatformInfo
|
|
400
|
+
|
|
397
401
|
end # module PhusionPassenger
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: binary
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2010-
|
|
4
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -30,6 +30,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
30
30
|
module PhusionPassenger
|
|
31
31
|
|
|
32
32
|
module PlatformInfo
|
|
33
|
+
|
|
33
34
|
# An identifier for the current Linux distribution. nil if the operating system is not Linux.
|
|
34
35
|
def self.linux_distro
|
|
35
36
|
tags = linux_distro_tags
|
|
@@ -84,6 +85,7 @@ module PhusionPassenger
|
|
|
84
85
|
# TODO: Slackware
|
|
85
86
|
end
|
|
86
87
|
memoize :linux_distro_tags
|
|
88
|
+
|
|
87
89
|
end
|
|
88
90
|
|
|
89
91
|
end # PhusionPassenger
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
|
-
# Copyright (c) 2017-
|
|
4
|
+
# Copyright (c) 2017-2026 Asynchronous B.V.
|
|
5
5
|
#
|
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
7
7
|
# trademarks of Asynchronous B.V.
|
|
@@ -31,6 +31,7 @@ PhusionPassenger.require_passenger_lib 'utils/shellwords'
|
|
|
31
31
|
module PhusionPassenger
|
|
32
32
|
|
|
33
33
|
module PlatformInfo
|
|
34
|
+
|
|
34
35
|
# Returns a list of network interfaces active on the current system, or
|
|
35
36
|
# nil if unable to autodetect.
|
|
36
37
|
#
|
|
@@ -289,6 +290,7 @@ module PhusionPassenger
|
|
|
289
290
|
[]
|
|
290
291
|
end
|
|
291
292
|
end
|
|
293
|
+
|
|
292
294
|
end
|
|
293
295
|
|
|
294
296
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2015-
|
|
2
|
+
# Copyright (c) 2015-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -28,6 +28,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
28
28
|
module PhusionPassenger
|
|
29
29
|
|
|
30
30
|
module PlatformInfo
|
|
31
|
+
|
|
31
32
|
def self.openssl_extra_cflags
|
|
32
33
|
if PlatformInfo.os_name_simple == "macosx"
|
|
33
34
|
if File.exist?("/usr/include/openssl")
|
|
@@ -66,6 +67,7 @@ module PhusionPassenger
|
|
|
66
67
|
end
|
|
67
68
|
end
|
|
68
69
|
memoize :openssl_extra_ldflags
|
|
70
|
+
|
|
69
71
|
end
|
|
70
72
|
|
|
71
73
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -29,6 +29,7 @@ PhusionPassenger.require_passenger_lib 'platform_info'
|
|
|
29
29
|
module PhusionPassenger
|
|
30
30
|
|
|
31
31
|
module PlatformInfo
|
|
32
|
+
|
|
32
33
|
class VersionComparer < String
|
|
33
34
|
def <=>(other)
|
|
34
35
|
Gem::Version.new(self) <=> Gem::Version.new(other.to_s)
|
|
@@ -228,6 +229,7 @@ module PhusionPassenger
|
|
|
228
229
|
`#{uname} -r`.include?("Microsoft")
|
|
229
230
|
end
|
|
230
231
|
memoize :windows_subsystem?, true
|
|
232
|
+
|
|
231
233
|
end
|
|
232
234
|
|
|
233
235
|
end # module PhusionPassenger
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 Asynchronous B.V.
|
|
3
3
|
#
|
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
5
5
|
# trademarks of Asynchronous B.V.
|
|
@@ -28,6 +28,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
|
|
28
28
|
module PhusionPassenger
|
|
29
29
|
|
|
30
30
|
module PlatformInfo
|
|
31
|
+
|
|
31
32
|
def self.pcre_extra_cflags
|
|
32
33
|
cflags = ""
|
|
33
34
|
if PlatformInfo.os_name_simple == "macosx"
|
|
@@ -59,6 +60,7 @@ module PhusionPassenger
|
|
|
59
60
|
end
|
|
60
61
|
end
|
|
61
62
|
memoize :pcre_extra_ldflags
|
|
63
|
+
|
|
62
64
|
end
|
|
63
65
|
|
|
64
66
|
end # module PhusionPassenger
|