passenger 6.0.24 → 6.0.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (489) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +133 -114
  3. data/LICENSE +1 -1
  4. data/README.md +1 -1
  5. data/Rakefile +2 -2
  6. data/bin/passenger +2 -2
  7. data/bin/passenger-config +2 -2
  8. data/bin/passenger-install-apache2-module +2 -2
  9. data/bin/passenger-install-nginx-module +2 -2
  10. data/bin/passenger-memory-stats +2 -2
  11. data/bin/passenger-status +2 -2
  12. data/build/agent.rb +2 -2
  13. data/build/apache2.rb +2 -2
  14. data/build/basics.rb +2 -2
  15. data/build/common_library.rb +2 -2
  16. data/build/cxx_tests.rb +2 -2
  17. data/build/integration_tests.rb +2 -2
  18. data/build/misc.rb +2 -2
  19. data/build/nginx.rb +2 -2
  20. data/build/node_tests.rb +2 -2
  21. data/build/oxt_tests.rb +2 -2
  22. data/build/packaging.rb +2 -2
  23. data/build/ruby_extension.rb +2 -2
  24. data/build/ruby_tests.rb +2 -2
  25. data/build/schema_printer.rb +2 -2
  26. data/build/support/cplusplus.rb +2 -2
  27. data/build/support/general.rb +2 -2
  28. data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
  29. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +2 -2
  30. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +2 -2
  31. data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
  32. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +2 -2
  33. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +2 -2
  34. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +2 -2
  35. data/build/test_basics.rb +2 -2
  36. data/dev/copy_boost_headers +2 -2
  37. data/dev/nginx_version_sha256 +2 -2
  38. data/doc/DesignAspects/LimitedGemDependencies.md +39 -0
  39. data/doc/DesignAspects/NoGemActivationDuringRubyLoaderInitialization.md +27 -0
  40. data/passenger.gemspec +4 -0
  41. data/resources/templates/apache2/deployment_example.txt.erb +1 -1
  42. data/resources/templates/nginx/deployment_example.txt.erb +1 -1
  43. data/resources/templates/standalone/http.erb +1 -0
  44. data/src/agent/AgentMain.cpp +2 -2
  45. data/src/agent/Core/AdminPanelConnector.h +2 -2
  46. data/src/agent/Core/ApiServer.h +2 -2
  47. data/src/agent/Core/ApplicationPool/AbstractSession.h +2 -2
  48. data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +2 -2
  49. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  50. data/src/agent/Core/ApplicationPool/Common.h +2 -2
  51. data/src/agent/Core/ApplicationPool/Context.h +7 -4
  52. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +2 -2
  53. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
  54. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +2 -2
  55. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +2 -2
  56. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
  57. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +69 -2
  58. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +28 -8
  59. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +2 -2
  60. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -2
  61. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +2 -2
  62. data/src/agent/Core/ApplicationPool/Group.h +6 -5
  63. data/src/agent/Core/ApplicationPool/Implementation.cpp +2 -2
  64. data/src/agent/Core/ApplicationPool/Options.h +3 -4
  65. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +2 -2
  66. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +2 -2
  67. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +2 -2
  68. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +2 -2
  69. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +2 -2
  70. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +2 -2
  71. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +2 -2
  72. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +2 -2
  73. data/src/agent/Core/ApplicationPool/Pool.h +2 -2
  74. data/src/agent/Core/ApplicationPool/Process.cpp +2 -2
  75. data/src/agent/Core/ApplicationPool/Process.h +2 -2
  76. data/src/agent/Core/ApplicationPool/Session.h +2 -2
  77. data/src/agent/Core/ApplicationPool/Socket.h +2 -2
  78. data/src/agent/Core/ApplicationPool/TestSession.h +2 -2
  79. data/src/agent/Core/Config.h +4 -3
  80. data/src/agent/Core/ConfigChange.cpp +2 -2
  81. data/src/agent/Core/ConfigChange.h +2 -2
  82. data/src/agent/Core/Controller/AppResponse.h +2 -2
  83. data/src/agent/Core/Controller/BufferBody.cpp +2 -2
  84. data/src/agent/Core/Controller/CheckoutSession.cpp +2 -2
  85. data/src/agent/Core/Controller/Client.h +2 -2
  86. data/src/agent/Core/Controller/Config.cpp +2 -2
  87. data/src/agent/Core/Controller/Config.h +9 -4
  88. data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
  89. data/src/agent/Core/Controller/Hooks.cpp +2 -2
  90. data/src/agent/Core/Controller/Implementation.cpp +2 -2
  91. data/src/agent/Core/Controller/InitRequest.cpp +2 -3
  92. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +2 -2
  93. data/src/agent/Core/Controller/InternalUtils.cpp +2 -2
  94. data/src/agent/Core/Controller/Miscellaneous.cpp +2 -2
  95. data/src/agent/Core/Controller/Request.h +2 -2
  96. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  97. data/src/agent/Core/Controller/StateInspection.cpp +2 -2
  98. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  99. data/src/agent/Core/Controller.h +2 -2
  100. data/src/agent/Core/CoreMain.cpp +3 -3
  101. data/src/agent/Core/OptionParser.h +7 -2
  102. data/src/agent/Core/ResponseCache.h +2 -2
  103. data/src/agent/Core/SecurityUpdateChecker.h +2 -2
  104. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +2 -2
  105. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +2 -2
  106. data/src/agent/Core/SpawningKit/Config.h +2 -2
  107. data/src/agent/Core/SpawningKit/Context.h +2 -2
  108. data/src/agent/Core/SpawningKit/DirectSpawner.h +2 -2
  109. data/src/agent/Core/SpawningKit/DummySpawner.h +2 -2
  110. data/src/agent/Core/SpawningKit/ErrorRenderer.h +2 -2
  111. data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
  112. data/src/agent/Core/SpawningKit/Factory.h +2 -2
  113. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +2 -2
  114. data/src/agent/Core/SpawningKit/Handshake/Perform.h +2 -2
  115. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +2 -2
  116. data/src/agent/Core/SpawningKit/Handshake/Session.h +2 -2
  117. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +2 -2
  118. data/src/agent/Core/SpawningKit/Journey.h +2 -2
  119. data/src/agent/Core/SpawningKit/PipeWatcher.h +2 -2
  120. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +2 -2
  121. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +2 -2
  122. data/src/agent/Core/SpawningKit/Result.h +2 -2
  123. data/src/agent/Core/SpawningKit/SmartSpawner.h +2 -2
  124. data/src/agent/Core/SpawningKit/Spawner.h +2 -2
  125. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  126. data/src/agent/Core/TelemetryCollector.h +2 -2
  127. data/src/agent/ExecHelper/ExecHelperMain.cpp +2 -2
  128. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +2 -2
  129. data/src/agent/MainFunctions.h +2 -2
  130. data/src/agent/Shared/ApiAccountUtils.h +2 -2
  131. data/src/agent/Shared/ApiServerUtils.h +2 -2
  132. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  133. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +2 -2
  134. data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -2
  135. data/src/agent/Shared/Fundamentals/Initialization.cpp +2 -2
  136. data/src/agent/Shared/Fundamentals/Initialization.h +2 -2
  137. data/src/agent/Shared/Fundamentals/Utils.cpp +2 -2
  138. data/src/agent/Shared/Fundamentals/Utils.h +2 -2
  139. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -2
  140. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +2 -2
  141. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -2
  142. data/src/agent/Watchdog/AgentWatcher.cpp +2 -2
  143. data/src/agent/Watchdog/ApiServer.h +2 -2
  144. data/src/agent/Watchdog/Config.h +4 -3
  145. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  146. data/src/agent/Watchdog/InstanceDirToucher.cpp +2 -2
  147. data/src/agent/Watchdog/WatchdogMain.cpp +2 -2
  148. data/src/apache2_module/Bucket.cpp +2 -2
  149. data/src/apache2_module/Bucket.h +2 -2
  150. data/src/apache2_module/CBindings.cpp +2 -2
  151. data/src/apache2_module/Config.cpp +2 -2
  152. data/src/apache2_module/Config.h +2 -2
  153. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +7 -2
  154. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
  155. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +7 -2
  156. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +2 -2
  157. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +17 -2
  158. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +2 -2
  159. data/src/apache2_module/ConfigGeneral/Common.h +2 -2
  160. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +2 -2
  161. data/src/apache2_module/ConfigGeneral/SetterFuncs.h +2 -2
  162. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +2 -2
  163. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +2 -2
  164. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +2 -2
  165. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +2 -2
  166. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +2 -2
  167. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
  168. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +2 -2
  169. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +2 -2
  170. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +2 -2
  171. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  172. data/src/apache2_module/DirectoryMapper.h +2 -2
  173. data/src/apache2_module/Hooks.cpp +3 -2
  174. data/src/apache2_module/Hooks.h +2 -2
  175. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -2
  176. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +2 -2
  177. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -2
  178. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  179. data/src/apache2_module/Utils.h +2 -2
  180. data/src/apache2_module/mod_passenger.c +2 -2
  181. data/src/cxx_supportlib/Algorithms/Hasher.cpp +2 -2
  182. data/src/cxx_supportlib/Algorithms/Hasher.h +2 -2
  183. data/src/cxx_supportlib/Algorithms/MovingAverage.h +2 -8
  184. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +2 -2
  185. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +2 -2
  186. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +2 -2
  187. data/src/cxx_supportlib/AppTypeDetector/Detector.h +2 -2
  188. data/src/cxx_supportlib/BackgroundEventLoop.cpp +2 -2
  189. data/src/cxx_supportlib/BackgroundEventLoop.h +2 -2
  190. data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +2 -2
  191. data/src/cxx_supportlib/ConfigKit/Common.h +2 -2
  192. data/src/cxx_supportlib/ConfigKit/ConfigKit.h +2 -2
  193. data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +2 -2
  194. data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +2 -2
  195. data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
  196. data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +2 -2
  197. data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
  198. data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +2 -2
  199. data/src/cxx_supportlib/ConfigKit/TableTranslator.h +2 -2
  200. data/src/cxx_supportlib/ConfigKit/Translator.h +2 -2
  201. data/src/cxx_supportlib/ConfigKit/Utils.h +2 -2
  202. data/src/cxx_supportlib/Constants.h +3 -3
  203. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +2 -2
  204. data/src/cxx_supportlib/DataStructures/HashMap.h +2 -2
  205. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +2 -2
  206. data/src/cxx_supportlib/DataStructures/LString.cpp +2 -2
  207. data/src/cxx_supportlib/DataStructures/LString.h +2 -2
  208. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +2 -2
  209. data/src/cxx_supportlib/DataStructures/StringMap.h +2 -2
  210. data/src/cxx_supportlib/Exceptions.cpp +2 -2
  211. data/src/cxx_supportlib/Exceptions.h +2 -2
  212. data/src/cxx_supportlib/FileDescriptor.h +2 -2
  213. data/src/cxx_supportlib/FileTools/FileManip.cpp +2 -2
  214. data/src/cxx_supportlib/FileTools/FileManip.h +2 -2
  215. data/src/cxx_supportlib/FileTools/LargeFiles.h +2 -2
  216. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  217. data/src/cxx_supportlib/FileTools/PathManip.h +2 -2
  218. data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +2 -2
  219. data/src/cxx_supportlib/FileTools/PathManipCBindings.h +2 -2
  220. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +2 -2
  221. data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +2 -2
  222. data/src/cxx_supportlib/Hooks.h +2 -2
  223. data/src/cxx_supportlib/IOTools/BufferedIO.h +2 -2
  224. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -2
  225. data/src/cxx_supportlib/IOTools/IOUtils.h +2 -2
  226. data/src/cxx_supportlib/IOTools/MessageIO.h +2 -2
  227. data/src/cxx_supportlib/IOTools/MessageSerialization.h +2 -2
  228. data/src/cxx_supportlib/InstanceDirectory.h +2 -2
  229. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +2 -2
  230. data/src/cxx_supportlib/JsonTools/Autocast.h +2 -2
  231. data/src/cxx_supportlib/JsonTools/CBindings.cpp +2 -2
  232. data/src/cxx_supportlib/JsonTools/CBindings.h +2 -2
  233. data/src/cxx_supportlib/JsonTools/JsonUtils.h +2 -2
  234. data/src/cxx_supportlib/LoggingKit/Assert.h +2 -2
  235. data/src/cxx_supportlib/LoggingKit/Config.h +2 -2
  236. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  237. data/src/cxx_supportlib/LoggingKit/Forward.h +2 -2
  238. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +2 -2
  239. data/src/cxx_supportlib/LoggingKit/Logging.h +2 -2
  240. data/src/cxx_supportlib/LoggingKit/LoggingKit.h +2 -2
  241. data/src/cxx_supportlib/LveLoggingDecorator.h +2 -2
  242. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  243. data/src/cxx_supportlib/MemoryKit/mbuf.h +2 -2
  244. data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
  245. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
  246. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +2 -2
  247. data/src/cxx_supportlib/ProcessManagement/Ruby.h +2 -2
  248. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +2 -2
  249. data/src/cxx_supportlib/ProcessManagement/Spawn.h +2 -2
  250. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +2 -2
  251. data/src/cxx_supportlib/ProcessManagement/Utils.h +2 -2
  252. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  253. data/src/cxx_supportlib/ResourceLocator.h +2 -2
  254. data/src/cxx_supportlib/SafeLibev.h +2 -2
  255. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +2 -2
  256. data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
  257. data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +2 -2
  258. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  259. data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
  260. data/src/cxx_supportlib/ServerKit/Client.h +2 -2
  261. data/src/cxx_supportlib/ServerKit/ClientRef.h +2 -2
  262. data/src/cxx_supportlib/ServerKit/Config.h +2 -2
  263. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  264. data/src/cxx_supportlib/ServerKit/CookieUtils.h +2 -2
  265. data/src/cxx_supportlib/ServerKit/Errors.h +2 -2
  266. data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +2 -2
  267. data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +2 -2
  268. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +2 -2
  269. data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
  270. data/src/cxx_supportlib/ServerKit/HeaderTable.h +2 -2
  271. data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
  272. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +2 -2
  273. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +2 -2
  274. data/src/cxx_supportlib/ServerKit/HttpClient.h +2 -2
  275. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +2 -2
  276. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  277. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  278. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +2 -2
  279. data/src/cxx_supportlib/ServerKit/HttpServer.h +2 -2
  280. data/src/cxx_supportlib/ServerKit/Implementation.cpp +2 -2
  281. data/src/cxx_supportlib/ServerKit/Server.h +2 -2
  282. data/src/cxx_supportlib/StaticString.h +2 -2
  283. data/src/cxx_supportlib/StrIntTools/DateParsing.h +2 -2
  284. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +2 -2
  285. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +2 -2
  286. data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +2 -2
  287. data/src/cxx_supportlib/StrIntTools/StringScanning.h +2 -2
  288. data/src/cxx_supportlib/StrIntTools/Template.h +2 -2
  289. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
  290. data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +2 -2
  291. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  292. data/src/cxx_supportlib/SystemTools/SystemTime.cpp +2 -2
  293. data/src/cxx_supportlib/SystemTools/SystemTime.h +2 -2
  294. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +2 -2
  295. data/src/cxx_supportlib/SystemTools/UserDatabase.h +2 -2
  296. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +2 -2
  297. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -2
  298. data/src/cxx_supportlib/Utils/BlockingQueue.h +2 -2
  299. data/src/cxx_supportlib/Utils/CachedFileStat.cpp +2 -2
  300. data/src/cxx_supportlib/Utils/CachedFileStat.h +2 -2
  301. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +2 -2
  302. data/src/cxx_supportlib/Utils/ClassUtils.h +2 -2
  303. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  304. data/src/cxx_supportlib/Utils/FastStringStream.h +2 -2
  305. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  306. data/src/cxx_supportlib/Utils/HttpConstants.h +2 -2
  307. data/src/cxx_supportlib/Utils/IniFile.h +2 -2
  308. data/src/cxx_supportlib/Utils/MessagePassing.h +2 -2
  309. data/src/cxx_supportlib/Utils/OptionParsing.h +2 -2
  310. data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +2 -2
  311. data/src/cxx_supportlib/Utils/ScopeGuard.h +2 -2
  312. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  313. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  314. data/src/cxx_supportlib/Utils/VariantMap.h +2 -2
  315. data/src/cxx_supportlib/Utils.cpp +2 -2
  316. data/src/cxx_supportlib/Utils.h +2 -2
  317. data/src/cxx_supportlib/WatchdogLauncher.cpp +2 -2
  318. data/src/cxx_supportlib/WatchdogLauncher.h +3 -5
  319. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +2 -2
  320. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +2 -2
  321. data/src/cxx_supportlib/WrapperRegistry/CBindings.h +2 -2
  322. data/src/cxx_supportlib/WrapperRegistry/Entry.h +2 -2
  323. data/src/cxx_supportlib/WrapperRegistry/Registry.h +2 -2
  324. data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
  325. data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
  326. data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
  327. data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
  328. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +1 -1
  329. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
  330. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
  331. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
  332. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
  333. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
  334. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
  335. data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
  336. data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
  337. data/src/cxx_supportlib/oxt/macros.hpp +1 -1
  338. data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
  339. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  340. data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
  341. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  342. data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
  343. data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +2 -2
  344. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +2 -2
  345. data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
  346. data/src/helper-scripts/crash-watch.rb +1 -1
  347. data/src/helper-scripts/download_binaries/extconf.rb +2 -2
  348. data/src/helper-scripts/meteor-loader.rb +9 -4
  349. data/src/helper-scripts/node-loader.js +2 -2
  350. data/src/helper-scripts/prespawn +2 -2
  351. data/src/helper-scripts/rack-loader.rb +2 -2
  352. data/src/helper-scripts/rack-preloader.rb +2 -2
  353. data/src/helper-scripts/wsgi-loader.py +2 -2
  354. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +10 -2
  355. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +2 -2
  356. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +8 -2
  357. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +2 -2
  358. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +14 -2
  359. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +2 -2
  360. data/src/nginx_module/Configuration.c +1 -1
  361. data/src/nginx_module/Configuration.h +1 -1
  362. data/src/nginx_module/ContentHandler.c +1 -1
  363. data/src/nginx_module/ContentHandler.h +1 -1
  364. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +2 -2
  365. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
  366. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +2 -2
  367. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +2 -2
  368. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +2 -2
  369. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
  370. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +2 -2
  371. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +2 -2
  372. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +2 -2
  373. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  374. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +7 -2
  375. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +2 -2
  376. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +13 -2
  377. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +2 -2
  378. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +6 -2
  379. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -2
  380. data/src/nginx_module/StaticContentHandler.c +1 -1
  381. data/src/nginx_module/StaticContentHandler.h +1 -1
  382. data/src/nginx_module/ngx_http_passenger_module.c +2 -2
  383. data/src/nginx_module/ngx_http_passenger_module.h +1 -1
  384. data/src/nodejs_supportlib/phusion_passenger/line_reader.js +2 -2
  385. data/src/ruby_native_extension/extconf.rb +2 -2
  386. data/src/ruby_native_extension/passenger_native_support.c +2 -2
  387. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +2 -2
  388. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -2
  389. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +2 -2
  390. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -2
  391. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +2 -2
  392. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +9 -2
  393. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +2 -2
  394. data/src/ruby_supportlib/phusion_passenger/common_library.rb +2 -2
  395. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +2 -2
  396. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +2 -2
  397. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +2 -2
  398. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +2 -2
  399. data/src/ruby_supportlib/phusion_passenger/config/command.rb +2 -2
  400. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +2 -2
  401. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +2 -2
  402. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +2 -2
  403. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +2 -2
  404. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +2 -2
  405. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +2 -2
  406. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +2 -2
  407. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +2 -2
  408. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +2 -2
  409. data/src/ruby_supportlib/phusion_passenger/config/main.rb +2 -2
  410. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  411. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +2 -2
  412. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +2 -2
  413. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +2 -2
  414. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +2 -2
  415. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +2 -2
  416. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +2 -2
  417. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +2 -2
  418. data/src/ruby_supportlib/phusion_passenger/constants.rb +2 -2
  419. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
  420. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +12 -4
  421. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  422. data/src/ruby_supportlib/phusion_passenger/message_client.rb +2 -2
  423. data/src/ruby_supportlib/phusion_passenger/native_support.rb +2 -2
  424. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +10 -2
  425. data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -2
  426. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  427. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +2 -2
  428. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +2 -2
  429. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +2 -2
  430. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +2 -2
  431. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +2 -2
  432. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +2 -2
  433. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -2
  434. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +2 -2
  435. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +2 -2
  436. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +2 -2
  437. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +2 -2
  438. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +2 -2
  439. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
  440. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +2 -2
  441. data/src/ruby_supportlib/phusion_passenger/plugin.rb +2 -2
  442. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +14 -8
  443. data/src/ruby_supportlib/phusion_passenger/public_api.rb +2 -2
  444. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +2 -2
  445. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +2 -2
  446. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +2 -2
  447. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
  448. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -2
  449. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  450. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +2 -2
  451. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +2 -2
  452. data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +2 -2
  453. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +2 -2
  454. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +2 -2
  455. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +14 -3
  456. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -2
  457. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +2 -2
  458. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +2 -2
  459. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +5 -3
  460. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -3
  461. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +2 -2
  462. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +3 -4
  463. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +9 -3
  464. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +2 -2
  465. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +2 -2
  466. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +2 -2
  467. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +2 -2
  468. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +2 -2
  469. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +2 -2
  470. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +2 -2
  471. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +2 -2
  472. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +2 -2
  473. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +2 -2
  474. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +2 -2
  475. data/src/ruby_supportlib/phusion_passenger/utils.rb +2 -2
  476. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  477. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
  478. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  479. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
  480. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
  481. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
  482. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +1 -1
  483. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +1 -1
  484. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +1 -1
  485. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +1 -1
  486. data/src/ruby_supportlib/phusion_passenger.rb +4 -4
  487. data/src/schema_printer/SchemaPrinterMain.cpp +2 -2
  488. data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +2 -2
  489. metadata +4 -2
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -27,8 +27,6 @@
27
27
  #define _PASSENGER_APPLICATION_POOL2_GROUP_H_
28
28
 
29
29
  #include <string>
30
- #include <map>
31
- #include <queue>
32
30
  #include <deque>
33
31
  #include <boost/thread.hpp>
34
32
  #include <boost/bind/bind.hpp>
@@ -202,7 +200,6 @@ public:
202
200
  Callback shutdownCallback;
203
201
  GroupPtr selfPointer;
204
202
 
205
-
206
203
  /****** Initialization and shutdown ******/
207
204
 
208
205
  static ApiKey generateApiKey(const Pool *pool);
@@ -233,9 +230,13 @@ public:
233
230
  /****** Process list management ******/
234
231
 
235
232
  Process *findProcessWithStickySessionId(unsigned int id) const;
233
+ Process *findProcessWithStickySessionIdOrLowestBusyness(unsigned int id) const;
234
+ Process *findProcessWithLowestBusyness(const ProcessList &processes) const;
235
+ Process *findEnabledProcessWithLowestBusyness() const;
236
236
  Process *findBestProcessPreferringStickySessionId(unsigned int id) const;
237
237
  Process *findBestProcess(const ProcessList &processes) const;
238
238
  Process *findBestEnabledProcess() const;
239
+ bool useNewRouting() const;
239
240
 
240
241
  void addProcessToList(const ProcessPtr &process, ProcessList &destination);
241
242
  void removeProcessFromList(const ProcessPtr &process, ProcessList &source);
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2010-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -28,7 +28,6 @@
28
28
 
29
29
  #include <string>
30
30
  #include <vector>
31
- #include <utility>
32
31
  #include <boost/shared_array.hpp>
33
32
  #include <WrapperRegistry/Registry.h>
34
33
  #include <DataStructures/HashedStaticString.h>
@@ -79,7 +78,7 @@ private:
79
78
  template<typename OptionsClass, typename StaticStringClass>
80
79
  static vector<StaticStringClass *> getStringFields(OptionsClass &options) {
81
80
  vector<StaticStringClass *> result;
82
- result.reserve(20);
81
+ result.reserve(30);
83
82
 
84
83
  result.push_back(&options.appRoot);
85
84
  result.push_back(&options.appGroupName);
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2016-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2016-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -155,6 +155,7 @@ using namespace std;
155
155
  * max_instances_per_app unsigned integer - read_only
156
156
  * max_pool_size unsigned integer - default(6)
157
157
  * multi_app boolean - default(false),read_only
158
+ * old_routing boolean - default(false),read_only
158
159
  * oom_score string - read_only
159
160
  * passenger_root string required read_only
160
161
  * pid_file string - read_only
@@ -167,7 +168,7 @@ using namespace std;
167
168
  * security_update_checker_interval unsigned integer - default(86400)
168
169
  * security_update_checker_proxy_url string - -
169
170
  * security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
170
- * server_software string - default("Phusion_Passenger/6.0.24")
171
+ * server_software string - default("Phusion_Passenger/6.0.25")
171
172
  * show_version_in_header boolean - default(true)
172
173
  * single_app_mode_app_root string - default,read_only
173
174
  * single_app_mode_app_start_command string - read_only
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2017 Phusion Holding B.V.
3
+ * Copyright (c) 2017-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2017 Phusion Holding B.V.
3
+ * Copyright (c) 2017-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2017-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2017-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -115,9 +115,10 @@ parseControllerBenchmarkMode(const StaticString &mode) {
115
115
  * max_instances_per_app unsigned integer - read_only
116
116
  * min_spare_clients unsigned integer - default(0)
117
117
  * multi_app boolean - default(true),read_only
118
+ * old_routing boolean - default(false),read_only
118
119
  * request_freelist_limit unsigned integer - default(1024)
119
120
  * response_buffer_high_watermark unsigned integer - default(134217728)
120
- * server_software string - default("Phusion_Passenger/6.0.24")
121
+ * server_software string - default("Phusion_Passenger/6.0.25")
121
122
  * show_version_in_header boolean - default(true)
122
123
  * start_reading_after_accept boolean - default(true)
123
124
  * stat_throttle_rate unsigned integer - default(10)
@@ -138,6 +139,7 @@ private:
138
139
  add("thread_number", UINT_TYPE, REQUIRED | READ_ONLY);
139
140
  add("multi_app", BOOL_TYPE, OPTIONAL | READ_ONLY, true);
140
141
  add("turbocaching", BOOL_TYPE, OPTIONAL | READ_ONLY, true);
142
+ add("old_routing", BOOL_TYPE, OPTIONAL | READ_ONLY, false);
141
143
  add("integration_mode", STRING_TYPE, OPTIONAL | READ_ONLY, DEFAULT_INTEGRATION_MODE);
142
144
 
143
145
  add("user_switching", BOOL_TYPE, OPTIONAL, true);
@@ -349,6 +351,7 @@ public:
349
351
  bool userSwitching: 1;
350
352
  bool defaultStickySessions: 1;
351
353
  bool gracefulExit: 1;
354
+ bool oldRouting: 1;
352
355
 
353
356
  /*******************/
354
357
  /*******************/
@@ -366,7 +369,8 @@ public:
366
369
  singleAppMode(!config["multi_app"].asBool()),
367
370
  userSwitching(config["user_switching"].asBool()),
368
371
  defaultStickySessions(config["default_sticky_sessions"].asBool()),
369
- gracefulExit(config["graceful_exit"].asBool())
372
+ gracefulExit(config["graceful_exit"].asBool()),
373
+ oldRouting(config["old_routing"].asBool())
370
374
 
371
375
  /*******************/
372
376
  {
@@ -396,6 +400,7 @@ public:
396
400
  SWAP_BITFIELD(bool, userSwitching);
397
401
  SWAP_BITFIELD(bool, defaultStickySessions);
398
402
  SWAP_BITFIELD(bool, gracefulExit);
403
+ SWAP_BITFIELD(bool, oldRouting);
399
404
 
400
405
  /*******************/
401
406
 
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2015-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2015-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -206,7 +206,6 @@ Controller::fillPoolOptionsFromConfigCaches(Options &options,
206
206
  options.statThrottleRate = mainConfig.statThrottleRate;
207
207
  options.maxRequests = requestConfig->defaultMaxRequests;
208
208
  options.stickySessionsCookieAttributes = requestConfig->defaultStickySessionsCookieAttributes;
209
-
210
209
  /******************************/
211
210
  }
212
211
 
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2014-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2018 Phusion Holding B.V.
3
+ * Copyright (c) 2011-2025 Asynchronous B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
- * trademarks of Phusion Holding B.V.
6
+ * trademarks of Asynchronous B.V.
7
7
  *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal