passenger 6.2.0 → 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 +33 -1
- data/CONTRIBUTING.md +7 -311
- data/CONTRIBUTORS +1 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- 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 +37 -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 +2 -1
- 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 +1 -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 +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +1 -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 +5 -1
- data/dev/libev-changes.patch +108 -0
- data/dev/nginx_version_sha256 +1 -1
- data/dev/ruby_server.rb +1 -6
- 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 +1 -2
- 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/ApiServer.h +7 -6
- data/src/agent/Watchdog/Config.h +2 -2
- 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 +10 -10
- 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 +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/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 +4 -2
- 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/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 +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 +1 -1
- data/src/helper-scripts/rack-preloader.rb +1 -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 +1 -1
- 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 +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 +2 -12
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +8 -10
- 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 -1
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- 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 +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +6 -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/system_properties_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 +4 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- 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 +195 -11
- 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/linux.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +1 -1
- 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/pcre.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/platform_info.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/handler.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/thread_handler.rb +2 -7
- data/src/ruby_supportlib/phusion_passenger/request_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 +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +4 -8
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.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/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/strscan.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 +3 -13
- data/src/ruby_supportlib/phusion_passenger/utils.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/lock_file.rb +8 -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 +6 -4
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +395 -579
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
- data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
- metadata +69 -32
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d23c6a9b3b700ef3a052943a9e6237dd14b0f43a0794b4c4455ee31be2ced7b3
|
|
4
|
+
data.tar.gz: f141b8cdb23ebef664e4990e3286f35aa6bb8d62d3fc73ab5ea69ced31040c81
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f7174721989f7c7d9dea9d4224102760855da5ecd6b2761c517a40a32fc271bed6fa37c73df9e15bffc0fc0f065b33462702ddf8bdbef89f294348a69fe907f1
|
|
7
|
+
data.tar.gz: d3196d2d480b47d0ff86303a11bea78e3125aad59f5bab5eb017d75a68e674ab3880b424307e0bd2ff1afad8e4c779e40461901d6d3e5f32a20d53b62f7f9a89
|
data/CHANGELOG
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
|
-
Release 6.2.
|
|
1
|
+
Release 6.2.1 (Not yet released)
|
|
2
|
+
-------------
|
|
3
|
+
* Improve SELinux compatibility. Closes GH-2630 & GH-2670.
|
|
4
|
+
* Improve header parsing resilience. Closes GH-2646.
|
|
5
|
+
* [Ruby] Improve Frozen String compatibility. GH-2659.
|
|
6
|
+
* Make 503 error prettier on mobile by adding a viewport meta-tag.
|
|
7
|
+
* [Standalone] Improve detecting Nginx startup error messages. Closes GH-1970.
|
|
8
|
+
* Upgrade vendored libuv from 1.8.0 to 1.49.2, to pick up a decade of BSD/kqueue and threadpool bug fixes that should fix GH-2569.
|
|
9
|
+
* Upgrade vendored libev from 4.23 to 4.33.
|
|
10
|
+
* Fix OpenSSL deprecation warnings. Closes GH-2673.
|
|
11
|
+
* [Debian] Drop Debian 11 Bullseye (EOL 2026-08-31).
|
|
12
|
+
* Fix reporting of application output printed during smart spawning preloader startup.
|
|
13
|
+
* Include captured subprocess output in application spawn failure messages in logs, allowing easier troubleshooting without reading the HTML report.
|
|
14
|
+
* `passenger-config reopen-logs` now reopens both stdout and stderr, and can exit successfully when Passenger is not running by passing `--ignore-passenger-not-running`. Closes GH-2259.
|
|
15
|
+
* Fix an occasional Passenger core crash after serving a large response that Passenger generates itself, such as an application error page. Requests arriving while the core restarted failed with 502 Bad Gateway.
|
|
16
|
+
* Fix a rare Passenger core crash when a request ended at about the same moment as its connection attempt to the application timed out.
|
|
17
|
+
* [Nginx] Upgrades preferred Nginx to 1.30.6 from 1.30.4.
|
|
18
|
+
* [Nginx] The preferred PCRE2 version is now 10.49 (previously 10.47).
|
|
19
|
+
* Changes minimum supported macOS version to 15 Sequoia.
|
|
20
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
|
21
|
+
- ccache: 4.13.6 -> 4.14.1
|
|
22
|
+
- cmake: 4.4.2 -> 4.4.4
|
|
23
|
+
- curl: 8.21.0 -> 8.23.0
|
|
24
|
+
- git: 2.55.0 -> 2.56.0
|
|
25
|
+
- openssl: 3.6.3 -> 3.6.5
|
|
26
|
+
- pcre2: 10.47 -> 10.49
|
|
27
|
+
- rubygems: 4.0.18 -> 4.0.23
|
|
28
|
+
- rubies:
|
|
29
|
+
- 3.4.10 -> 3.4.11
|
|
30
|
+
- 4.0.6 -> 4.0.7
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Release 6.2.0
|
|
2
34
|
-------------
|
|
3
35
|
* Fix some compatibility issues with FreeBSD. Closes GH-2668 & GH-2669.
|
|
4
36
|
* [Nginx] Upgrades preferred Nginx to 1.30.4 from 1.30.3.
|
data/CONTRIBUTING.md
CHANGED
|
@@ -1,25 +1,6 @@
|
|
|
1
1
|
# Contributors Guide
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* [Filing bug reports](#file_bugs)
|
|
6
|
-
* [Contributing documentation](#contrib_docs)
|
|
7
|
-
* [Contributing by bug triaging](#contrib_triag)
|
|
8
|
-
* [Contributing community support](#contrib_support)
|
|
9
|
-
* [Contributing code](#contrib_code)
|
|
10
|
-
* [Developer QuickStart](#dev_quickstart)
|
|
11
|
-
* [Design and Architecture](#design_and_architecture)
|
|
12
|
-
* [Code Walkthrough](#code_walkthrough)
|
|
13
|
-
* [Compilation and build system](#build_system)
|
|
14
|
-
* [Running the unit tests](#unit_tests)
|
|
15
|
-
* [Directory structure](#dir_structure)
|
|
16
|
-
* [C++ coding style](#cxx_coding_style)
|
|
17
|
-
* [Ruby coding style](#ruby_coding_style)
|
|
18
|
-
* [Systems programming fundamentals](#systems_programming_fundamentals)
|
|
19
|
-
* [Further reading](#further_reading)
|
|
20
|
-
* [Pull requests](#pull_requests)
|
|
21
|
-
|
|
22
|
-
Thank you for your interest in Phusion Passenger. Phusion Passenger is open source so your contributions are very welcome. Although we also provide a [commercial version](https://www.phusionpassenger.com/features#premium-features) and [commercial support](https://www.phusionpassenger.com/commercial_support), the core remains open source and we remain committed to keep it that way. This guide gives you an overview of the ways with which you can contribute, as well as contribution guidelines.
|
|
3
|
+
Phusion Passenger is open source so your contributions are very welcome. Although we provide a [commercial version](https://www.phusionpassenger.com/features#premium-features) and [commercial support](https://www.phusionpassenger.com/commercial_support), the core remains open source and we remain committed to keep it that way. This guide gives you an overview of the ways with which you can contribute, as well as contribution guidelines.
|
|
23
4
|
|
|
24
5
|
You can contribute in one of the following areas:
|
|
25
6
|
|
|
@@ -31,34 +12,19 @@ You can contribute in one of the following areas:
|
|
|
31
12
|
|
|
32
13
|
We require contributors to sign our [contributor agreement](https://www.phusion.nl/contributor) before we can merge their patches.
|
|
33
14
|
|
|
34
|
-
Please submit patches in the form of a Github pull request or as a patch on the [bug tracker](https://github.com/phusion/passenger/issues). Pull requests are preferred and generally get more attention because Github has better email notifications and better discussion capabilities.
|
|
35
|
-
|
|
36
|
-
You should also install required developer tools. The following command will install everything you need:
|
|
37
|
-
|
|
38
|
-
rake test:install_deps
|
|
39
|
-
|
|
40
|
-
If your system requires gems to be installed with root privileges, run:
|
|
41
|
-
|
|
42
|
-
rake test:install_deps SUDO=1
|
|
43
|
-
|
|
44
|
-
<a name="file_bugs"></a>
|
|
45
15
|
## Filing bug reports
|
|
46
16
|
|
|
47
17
|
When filing a bug report, please ensure that you include the following information:
|
|
48
18
|
|
|
49
19
|
* What steps will reproduce the problem?
|
|
50
20
|
* What is the expected output? What do you see instead?
|
|
51
|
-
* What version of
|
|
21
|
+
* What version of Passenger are you using?
|
|
52
22
|
* Which version of Ruby, Rails, Node.js or Meteor are you using? On what operating system?
|
|
53
23
|
|
|
54
|
-
<a name="contrib_docs"></a>
|
|
55
24
|
## Contributing documentation
|
|
56
25
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Most documentation can be located in the `doc` directory, and are either written in Markdown or in Asciidoc format. They can be compiled to HTML with `rake doc`. You need [Mizuho](https://github.com/FooBarWidget/mizuho) to compile Asciidoc and [BlueCloth](http://deveiate.org/projects/BlueCloth) to compile Markdown. Both gems are automatically installed as part of the Phusion Passenger developer tools.
|
|
26
|
+
You can contribute documentation through the [passenger_library](https://github.com/phusion/passenger_library) repo.
|
|
60
27
|
|
|
61
|
-
<a name="contrib_tiag"></a>
|
|
62
28
|
## Contributing by bug triaging
|
|
63
29
|
|
|
64
30
|
Users [file bug reports](https://github.com/phusion/passenger/issues) on a regular basis, but not all bug reports are legit,contain sufficient information, are equally important, etc. By helping with bug triaging you make the lives of the core developers a lot easier.
|
|
@@ -68,289 +34,19 @@ To start contributing, please submit a comment on any bug report that needs tria
|
|
|
68
34
|
Here are some of the things that you should look for:
|
|
69
35
|
|
|
70
36
|
* Some reports are duplicates of each other, i.e. they report the same issue. You should mark them as duplicate and note the ID of the original report.
|
|
71
|
-
* Some reported problems are caused by the reporter's machine or the reporter's application. You should explain to them what the problem actually is, that it's not caused by
|
|
37
|
+
* Some reported problems are caused by the reporter's machine or the reporter's application. You should explain to them what the problem actually is, that it's not caused by Passenger, and then close the report.
|
|
72
38
|
* Some reports need more information. At the very least, we need specific instructions on how to reproduce the problem. You should ask the reporter to provide more information. Some reporters reply slowly or not at all. If some time has passed, you should remind the reporter about the request for more information. But if too much time has passed and the issue cannot be reproduced, you should close the report and mark it as "Stale".
|
|
73
|
-
* Some bug reports seem to be limited to one reporter, and it does not seem that other people suffer from the same problem. These are reports that need _confirmation_. You can help by trying to reproduce the problem and confirming the
|
|
39
|
+
* Some bug reports seem to be limited to one reporter, and it does not seem that other people suffer from the same problem. These are reports that need _confirmation_. You can help by trying to reproduce the problem and confirming the existence of the problem.
|
|
74
40
|
* Some reports are important, but have been neglected for too long. Although the core developers try to minimize the number of times this happens, sometimes it happens anyway because they're so busy. You should actively ping the core developers and remind them about it. Or better: try to actively find contributors who can help solving the issue.
|
|
75
41
|
|
|
76
42
|
**Always be polite to bug reporters.** Not all reporters are fluent in English, and not everybody may be tech-savvy. But we ask you for your patience and tolerance on this. We want to stimulate a positive and ejoyable environment.
|
|
77
43
|
|
|
78
|
-
<a name="contrib_support"></a>
|
|
79
44
|
## Contributing community support
|
|
80
45
|
|
|
81
46
|
You can contribute by answering support questions on [Stack Overflow](http://stackoverflow.com/search?q=passenger).
|
|
82
47
|
|
|
83
|
-
<a name="contrib_code"></a>
|
|
84
48
|
## Contributing code
|
|
85
49
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
<a name="dev_quickstart"></a>
|
|
89
|
-
### Developer QuickStart
|
|
90
|
-
|
|
91
|
-
<a href="https://youtu.be/CSpk9mfKdbc"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/passenger_developer_quickstart.png"></a>
|
|
92
|
-
|
|
93
|
-
_Watch the Developer QuickStart screencast_
|
|
94
|
-
|
|
95
|
-
We provide an easy and convenient development environment that contributors can use. Learn more at the [Developer QuickStart](https://github.com/phusion/passenger/blob/master/doc/DeveloperQuickstart.md).
|
|
96
|
-
|
|
97
|
-
<a name="design_and_architecture"></a>
|
|
98
|
-
### Design and Architecture
|
|
99
|
-
|
|
100
|
-
Phusion Passenger's design and architecture is documented in detail in the [Design & Architecture](https://www.phusionpassenger.com/documentation/Design%20and%20Architecture.html) document.
|
|
101
|
-
|
|
102
|
-
<a name="code_walkthrough"></a>
|
|
103
|
-
### Code Walkthrough
|
|
104
|
-
|
|
105
|
-
<a href="https://youtu.be/exugD98pqQc"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/code_walkthrough.png"></a>
|
|
106
|
-
|
|
107
|
-
We have [a video](https://youtu.be/exugD98pqQc) which walks you through the Phusion Passenger codebase, showing you step-by-step how things fit together. It complements the [Design & Architecture](https://www.phusionpassenger.com/documentation/Design%20and%20Architecture.html) document.
|
|
108
|
-
|
|
109
|
-
<a name="build_system"></a>
|
|
110
|
-
### Compilation and build system
|
|
111
|
-
|
|
112
|
-
`passenger-install-apache2-module` and `passenger-install-nginx-module` are actually user-friendly wrappers around the build system. The build system is written in Rake, and most of it can be found in the `build/` directory.
|
|
113
|
-
|
|
114
|
-
Run the following command to compile everything:
|
|
115
|
-
|
|
116
|
-
rake apache2
|
|
117
|
-
rake nginx
|
|
118
|
-
|
|
119
|
-
It is recommended that you install ccache and set the `USE_CCACHE=1` environment variable. The build system will then automatically wrap all compiler calls in ccache, significantly improving recompilation times.
|
|
120
|
-
|
|
121
|
-
<a name="unit_tests"></a>
|
|
122
|
-
### Running the unit tests
|
|
123
|
-
|
|
124
|
-
The tests depend on the Phusion Passenger developer tools. If you're not using our [Vagrant environment](https://github.com/phusion/passenger/blob/master/doc/DeveloperQuickstart.md), you need to make sure they're installed:
|
|
125
|
-
|
|
126
|
-
rake test:install_deps
|
|
127
|
-
|
|
128
|
-
You also need to setup the file `test/config.json`. You can find an example in `test/config.json.example`.
|
|
129
|
-
|
|
130
|
-
Run all tests:
|
|
131
|
-
|
|
132
|
-
rake test
|
|
133
|
-
|
|
134
|
-
Run only the unit tests for the C++ components:
|
|
135
|
-
|
|
136
|
-
rake test:cxx
|
|
137
|
-
rake test:oxt
|
|
138
|
-
|
|
139
|
-
The `test:cxx` unit test suite contains many different test groups. You can run a specific one by setting the environment variable `GROUPS` to a comma-delimited list of group names, e.g.:
|
|
140
|
-
|
|
141
|
-
rake test:cxx GROUPS='ApplicationPool2_PoolTest,UtilsTest'
|
|
142
|
-
|
|
143
|
-
You can also run specific tests within a suite. Pass the relevant test number(s) like this:
|
|
144
|
-
|
|
145
|
-
rake test:cxx GROUPS='ApplicationPool2_PoolTest:82,83'
|
|
146
|
-
|
|
147
|
-
You can also run the C++ tests in GDB or Valgrind. We have a useful GDB config file in `test/gdbinit.example`. You should copy it to `test/.gdbinit` and edit it.
|
|
148
|
-
|
|
149
|
-
rake test:cxx GDB=1
|
|
150
|
-
rake test:cxx VALGRIND=1
|
|
151
|
-
|
|
152
|
-
Run just the unit tests for the Ruby components:
|
|
153
|
-
|
|
154
|
-
rake test:ruby
|
|
155
|
-
|
|
156
|
-
Run just the integration tests:
|
|
157
|
-
|
|
158
|
-
rake test:integration # All integration tests.
|
|
159
|
-
rake test:integration:apache2 # Just integration tests for Apache 2.
|
|
160
|
-
rake test:integration:nginx # Just integration tests for Nginx.
|
|
161
|
-
|
|
162
|
-
Note that some tests, such as the ones that test privilege lowering, require root privileges. Those will only be run if Rake is run as root.
|
|
163
|
-
|
|
164
|
-
<a name="dir_structure"></a>
|
|
165
|
-
### Directory structure
|
|
166
|
-
|
|
167
|
-
The most important directories are:
|
|
168
|
-
|
|
169
|
-
* `src/ruby_suppportlib` <br>
|
|
170
|
-
The source code for Ruby parts of Phusion Passenger.
|
|
171
|
-
* `src/ruby_native_extension` <br>
|
|
172
|
-
Native extension for Ruby. Phusion Passenger uses the functions in this extension for optimizing certain operations, but Phusion Passenger can also function without this extension.
|
|
173
|
-
* `src/apache2_module` <br>
|
|
174
|
-
Apache 2-specific source code.
|
|
175
|
-
* `src/nginx_module` <br>
|
|
176
|
-
Nginx-specific source code.
|
|
177
|
-
* `src/cxx_supportlib` <br>
|
|
178
|
-
Support code shared between all C++ components.
|
|
179
|
-
* `src/agent` <br>
|
|
180
|
-
Source code of the PassengerAgent executable. The agent can be started in multiple modes.
|
|
181
|
-
* The Watchdog is the main Phusion Passenger process. It starts the Passenger core and the UstRouter, and restarts them when they crash. It also cleans everything up upon shut down.
|
|
182
|
-
* The Core performs most of the heavy lifting. It parses requests, spawns application processes, forwards requests to the correct process and forwards application responses back to the web server.
|
|
183
|
-
* The UstRouter processes Union Station data and sends them to the Union Station server.
|
|
184
|
-
* `bin` <br>
|
|
185
|
-
User executables.
|
|
186
|
-
* `helper-scripts` <br>
|
|
187
|
-
Scripts used during runtime, but not directly executed by the user. All the loaders - applications which are responsible for loading an application written in a certain language and hooking it up to Phusion Passenger - are in this directory.
|
|
188
|
-
* `doc` <br>
|
|
189
|
-
Various documentation.
|
|
190
|
-
* `test` <br>
|
|
191
|
-
Unit tests and integration tests.
|
|
192
|
-
* `test/support` <br>
|
|
193
|
-
Support/utility code, used in the tests.
|
|
194
|
-
* `test/stub` <br>
|
|
195
|
-
Stubbing and mocking code, used in the tests.
|
|
196
|
-
|
|
197
|
-
Less important directories:
|
|
198
|
-
|
|
199
|
-
* `src/vendor-modified/boost` <br>
|
|
200
|
-
A stripped-down and customized version of the [Boost C++ library](http://www.boost.org).
|
|
201
|
-
* `src/oxt` <br>
|
|
202
|
-
The "OS eXtensions for boosT" library, which provides various important functionality necessary for writing robust server software. It provides things like support for interruptable system calls and portable backtraces for C++. Boost was modified to make use of the functionality provided by OXT.
|
|
203
|
-
* `dev` <br>
|
|
204
|
-
Tools for Phusion Passenger developers. Not used during production.
|
|
205
|
-
* `resources` <br>
|
|
206
|
-
Various non-executable resource files, used during production.
|
|
207
|
-
* `packaging/debian` <br>
|
|
208
|
-
Debian packaging files.
|
|
209
|
-
* `packaging/rpm` <br>
|
|
210
|
-
RPM packaging files.
|
|
211
|
-
* `man` <br>
|
|
212
|
-
Man pages.
|
|
213
|
-
* `build` <br>
|
|
214
|
-
Source code of the build system.
|
|
215
|
-
|
|
216
|
-
<a name="cxx_coding_style"></a>
|
|
217
|
-
### C++ coding style
|
|
218
|
-
|
|
219
|
-
* Use 4-space tabs for indentation.
|
|
220
|
-
* Wrap at approximately 80 characters. This is a recommendation, not a hard guideline. You can exceed it if you think it makes things more readable, but try to minimize it.
|
|
221
|
-
|
|
222
|
-
* Use camelCasing for function names, variables, class/struct members and parameters:
|
|
223
|
-
|
|
224
|
-
void frobnicate();
|
|
225
|
-
void deleteFile(const char *filename, bool syncHardDisk);
|
|
226
|
-
int fooBar;
|
|
227
|
-
|
|
228
|
-
Use PascalCasing for classes, structs and namespaces:
|
|
229
|
-
|
|
230
|
-
class ApplicationPool {
|
|
231
|
-
struct HashFunction {
|
|
232
|
-
namespace Passenger {
|
|
233
|
-
|
|
234
|
-
* `if` and `while` statements must always have their body enclosed by brackets:
|
|
235
|
-
|
|
236
|
-
if (foo) {
|
|
237
|
-
...
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
Not:
|
|
241
|
-
|
|
242
|
-
if (foo)
|
|
243
|
-
...
|
|
244
|
-
|
|
245
|
-
* When it comes to `if`, `while`, `class` and other keywords, put a space before and after the opening and closing parentheses:
|
|
246
|
-
|
|
247
|
-
if (foo) {
|
|
248
|
-
while (foo) {
|
|
249
|
-
case (foo) {
|
|
250
|
-
|
|
251
|
-
Not:
|
|
252
|
-
|
|
253
|
-
if(foo){
|
|
254
|
-
while (foo) {
|
|
255
|
-
|
|
256
|
-
* You should generally put brackets on the same line as the statement:
|
|
257
|
-
|
|
258
|
-
if (foo) {
|
|
259
|
-
...
|
|
260
|
-
}
|
|
261
|
-
while (bar) {
|
|
262
|
-
...
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
However, if the main statement is so long that it does not fit on a single line, then the bracket should start at the next line:
|
|
266
|
-
|
|
267
|
-
if (very very long expression
|
|
268
|
-
&& another very very long expression)
|
|
269
|
-
{
|
|
270
|
-
...
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
* Do not put a space before the opening parenthesis when calling functions.
|
|
274
|
-
|
|
275
|
-
foo(1, 2, 3);
|
|
276
|
-
|
|
277
|
-
Not:
|
|
278
|
-
|
|
279
|
-
foo (1, 2, 3);
|
|
280
|
-
|
|
281
|
-
* Separate arguments and parts of expressions by spaces:
|
|
282
|
-
|
|
283
|
-
foo(1, 2, foo == bar, 5 + 6);
|
|
284
|
-
if (foo && bar) {
|
|
285
|
-
|
|
286
|
-
Not:
|
|
287
|
-
|
|
288
|
-
foo(1,2, foo==bar,5+6);
|
|
289
|
-
if (foo&&bar) {
|
|
290
|
-
|
|
291
|
-
* When declaring functions, puts as much on the same line as possible:
|
|
292
|
-
|
|
293
|
-
void foo(int x, int y);
|
|
294
|
-
|
|
295
|
-
When the declaration becomes too long, wrap at the beginning of an argument
|
|
296
|
-
and indent with a tab:
|
|
297
|
-
|
|
298
|
-
void aLongMethod(double longArgument, double longArgument2,
|
|
299
|
-
double longArgument3);
|
|
300
|
-
|
|
301
|
-
If the declaration already starts at a large indentation level (e.g. in a class) and the function has many arguments, or if the names are all very long, then it may be a good idea to wrap at each argument to make the declaration more readable:
|
|
302
|
-
|
|
303
|
-
class Foo {
|
|
304
|
-
void aLongLongLongLongMethod(shared_ptr<Foo> sharedFooInstance,
|
|
305
|
-
shared_ptr<BarFactory> myBarFactory,
|
|
306
|
-
GenerationDir::Entry directoryEntry);
|
|
307
|
-
|
|
308
|
-
* When defining functions outside class declarations, put the return type and any function attributes on a different line than the function name. Put the opening bracket on the same line as the function name.
|
|
309
|
-
|
|
310
|
-
static __attribute__((visibility("hidden"))) void
|
|
311
|
-
foo() {
|
|
312
|
-
...
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
void
|
|
316
|
-
Group::onSessionClose() {
|
|
317
|
-
...
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
But don't do that if the function is part of a class declarations:
|
|
321
|
-
|
|
322
|
-
class Foo {
|
|
323
|
-
void foo() {
|
|
324
|
-
...
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
Other than the aforementioned rules, function definitions follow the same rules as function declarations.
|
|
329
|
-
|
|
330
|
-
<a name="ruby_coding_style"></a>
|
|
331
|
-
### Ruby coding style
|
|
332
|
-
|
|
333
|
-
The usual Ruby coding style applies. That is, 2 spaces for indenting.
|
|
334
|
-
|
|
335
|
-
<a name="systems_programming_fundamentals"></a>
|
|
336
|
-
### Systems programming fundamentals
|
|
337
|
-
|
|
338
|
-
Large parts of Phusion Passenger are written in C++. You can find a free C++ tutorial at [cplusplus.com](http://www.cplusplus.com/doc/tutorial/).
|
|
339
|
-
|
|
340
|
-
Phusion Passenger heavily utilizes POSIX, the API that is in use by all Unix systems. The POSIX API is heavily used for:
|
|
341
|
-
|
|
342
|
-
* Filesystem operations.
|
|
343
|
-
* Process management.
|
|
344
|
-
* Sockets.
|
|
345
|
-
|
|
346
|
-
A good and comprehensive, but rather large source for learning POSIX is the [POSIX Programmer's Guide](ftp://92.42.8.18/pub/doc/books/OReilly_-_POSIX_Programmers_Guide.pdf) by Donald A. Lewine. You can find smaller but less comprehensive documents all over the Internet. In particular, you will want to familiarize yourself with [fork-exec](http://en.wikipedia.org/wiki/Fork-exec), the standard process creation pattern in Unix.
|
|
347
|
-
|
|
348
|
-
<a name="further_reading"></a>
|
|
349
|
-
### Further reading
|
|
350
|
-
|
|
351
|
-
* [Coding Tips and Pitfalls](https://github.com/phusion/passenger/blob/master/doc/CodingTipsAndPitfalls.md)
|
|
352
|
-
|
|
353
|
-
<a name="pull_requests"></a>
|
|
354
|
-
### Pull requests
|
|
50
|
+
Passenger is mostly written in C++, but the build system and various small helper scripts are in Ruby. The loaders for each supported language is written in the respective language.
|
|
355
51
|
|
|
356
|
-
|
|
52
|
+
Consult the [Development handbook](doc/DevHandbook.md).
|
data/CONTRIBUTORS
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -51,7 +51,7 @@ Ruby users can also build a gem from the Git repository and install the gem.
|
|
|
51
51
|
## Further reading
|
|
52
52
|
|
|
53
53
|
* The `doc/` directory.
|
|
54
|
-
* [Contributors Guide](
|
|
54
|
+
* [Contributors Guide](CONTRIBUTING.md)
|
|
55
55
|
* [Phusion Passenger support page](https://www.phusionpassenger.com/support)
|
|
56
56
|
* [Phusion Passenger release notes](https://blog.phusion.nl/tag/passenger-releases/)
|
|
57
57
|
|
data/Rakefile
CHANGED
data/bin/passenger
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
4
4
|
#
|
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
6
6
|
# trademarks of Asynchronous B.V.
|
data/bin/passenger-config
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
4
4
|
#
|
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
6
6
|
# trademarks of Asynchronous B.V.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# encoding: binary
|
|
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,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
4
4
|
#
|
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
6
6
|
# trademarks of Asynchronous B.V.
|
|
@@ -268,7 +268,7 @@ private
|
|
|
268
268
|
new_screen
|
|
269
269
|
puts "<banner>PCRE (required by Nginx) not installed, downloading it...</banner>"
|
|
270
270
|
|
|
271
|
-
url = "https://github.com/
|
|
271
|
+
url = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-#{PREFERRED_PCRE_VERSION}/pcre2-#{PREFERRED_PCRE_VERSION}.tar.gz"
|
|
272
272
|
dirname = "pcre2-#{PREFERRED_PCRE_VERSION}"
|
|
273
273
|
tarball = "#{@working_dir}/pcre.tar.gz"
|
|
274
274
|
|
|
@@ -549,7 +549,7 @@ private
|
|
|
549
549
|
|
|
550
550
|
extra_ldflags = [
|
|
551
551
|
PlatformInfo.openssl_extra_ldflags,
|
|
552
|
-
boolean_option('USE_ASAN') ? PlatformInfo.
|
|
552
|
+
boolean_option('USE_ASAN') ? PlatformInfo.address_sanitizer_c_ldflags : nil,
|
|
553
553
|
].compact.join(" ").strip
|
|
554
554
|
|
|
555
555
|
command = "sh ./configure --prefix='#{prefix}' "
|
|
@@ -603,12 +603,7 @@ private
|
|
|
603
603
|
# We do this instead of using #file, for Ruby 1.8.5 support.
|
|
604
604
|
digest = Digest::SHA256.new
|
|
605
605
|
File.open(path, "rb") do |f|
|
|
606
|
-
|
|
607
|
-
buf = String.new(encoding: Encoding::BINARY)
|
|
608
|
-
else
|
|
609
|
-
buf = ""
|
|
610
|
-
buf.force_encoding('binary') if buf.respond_to?(:force_encoding)
|
|
611
|
-
end
|
|
606
|
+
buf = ''.b
|
|
612
607
|
while !f.eof?
|
|
613
608
|
f.read(1024 * 16, buf)
|
|
614
609
|
digest.update(buf)
|
data/bin/passenger-memory-stats
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
4
4
|
#
|
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
6
6
|
# trademarks of Asynchronous B.V.
|
data/bin/passenger-status
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2026 Asynchronous B.V.
|
|
4
4
|
#
|
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
|
6
6
|
# trademarks of Asynchronous B.V.
|
data/build/agent.rb
CHANGED
|
@@ -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.
|
|
@@ -91,20 +91,18 @@ AGENT_OBJECTS.each_pair do |object, source|
|
|
|
91
91
|
define_cxx_object_compilation_task(
|
|
92
92
|
object,
|
|
93
93
|
source,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
],
|
|
107
|
-
} }
|
|
94
|
+
include_paths: [
|
|
95
|
+
"src/agent",
|
|
96
|
+
*CXX_SUPPORTLIB_INCLUDE_PATHS,
|
|
97
|
+
],
|
|
98
|
+
flags: -> { [
|
|
99
|
+
agent_cflags,
|
|
100
|
+
libev_cflags,
|
|
101
|
+
libuv_cflags,
|
|
102
|
+
PlatformInfo.curl_flags,
|
|
103
|
+
PlatformInfo.openssl_extra_cflags,
|
|
104
|
+
PlatformInfo.zlib_flags,
|
|
105
|
+
] }
|
|
108
106
|
)
|
|
109
107
|
end
|
|
110
108
|
|
data/build/apache2.rb
CHANGED
|
@@ -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.
|
|
@@ -74,25 +74,21 @@ APACHE2_OBJECTS.each_pair do |object, source|
|
|
|
74
74
|
define_c_object_compilation_task(
|
|
75
75
|
object,
|
|
76
76
|
source,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
flags: apache2_cflags,
|
|
83
|
-
} }
|
|
77
|
+
include_paths: [
|
|
78
|
+
"src/agent",
|
|
79
|
+
*CXX_SUPPORTLIB_INCLUDE_PATHS,
|
|
80
|
+
],
|
|
81
|
+
flags: -> { apache2_cflags }
|
|
84
82
|
)
|
|
85
83
|
else
|
|
86
84
|
define_cxx_object_compilation_task(
|
|
87
85
|
object,
|
|
88
86
|
source,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
flags: apache2_cxxflags,
|
|
95
|
-
} }
|
|
87
|
+
include_paths: [
|
|
88
|
+
"src/agent",
|
|
89
|
+
*CXX_SUPPORTLIB_INCLUDE_PATHS,
|
|
90
|
+
],
|
|
91
|
+
flags: -> { apache2_cxxflags }
|
|
96
92
|
)
|
|
97
93
|
end
|
|
98
94
|
end
|
|
@@ -126,7 +122,8 @@ file(APACHE2_TARGET => dependencies) do
|
|
|
126
122
|
PlatformInfo.apache2_module_cxx_ldflags,
|
|
127
123
|
PlatformInfo.portability_cxx_ldflags,
|
|
128
124
|
OPTIMIZE ? '-O' : nil,
|
|
129
|
-
USE_ASAN ? PlatformInfo.
|
|
125
|
+
USE_ASAN ? PlatformInfo.address_sanitizer_cxx_ldflags : nil,
|
|
126
|
+
USE_UBSAN ? PlatformInfo.undefined_behavior_sanitizer_cxx_ldflags : nil,
|
|
130
127
|
].compact
|
|
131
128
|
)
|
|
132
129
|
end
|