passenger 5.2.3 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +13 -0
  3. data/CONTRIBUTORS +5 -1
  4. data/build/agent.rb +22 -2
  5. data/build/cxx_tests.rb +41 -5
  6. data/build/misc.rb +4 -1
  7. data/build/support/cxx_dependency_map.rb +1746 -908
  8. data/build/support/vendor/cxx_hinted_parser/CxxHintedParser.sublime-project +8 -0
  9. data/build/support/vendor/cxx_hinted_parser/Gemfile +5 -0
  10. data/build/support/vendor/cxx_hinted_parser/Gemfile.lock +30 -0
  11. data/{src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core → build/support/vendor/cxx_hinted_parser}/LICENSE.md +1 -1
  12. data/build/support/vendor/cxx_hinted_parser/README.md +95 -0
  13. data/build/support/vendor/cxx_hinted_parser/Rakefile +4 -0
  14. data/{src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/initialize.rb → build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb} +2 -9
  15. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +239 -0
  16. data/dev/ci/README.md +15 -2
  17. data/dev/ci/lib/set-container-envvars.sh +6 -0
  18. data/dev/ci/lib/setup-container.sh +4 -1
  19. data/dev/ci/scripts/debug-console-wrapper.sh +3 -1
  20. data/dev/ci/setup-host +5 -0
  21. data/dev/ci/tests/binaries/Jenkinsfile +105 -0
  22. data/dev/ci/tests/binaries/build-linux +38 -0
  23. data/dev/ci/tests/binaries/build-macos +40 -0
  24. data/dev/ci/tests/binaries/prepare-macos +38 -0
  25. data/dev/ci/tests/binaries/test-linux +45 -0
  26. data/dev/ci/tests/binaries/test-macos +38 -0
  27. data/dev/ci/tests/debian/Jenkinsfile +2 -2
  28. data/dev/ci/tests/rpm/Jenkinsfile +1 -1
  29. data/dev/configkit-schemas/index.json +3 -24
  30. data/dev/vagrant/nginx_rakefile +0 -1
  31. data/package.json +15 -5
  32. data/resources/templates/error_renderer/.editorconfig +19 -0
  33. data/resources/templates/error_renderer/with_details/README.md +9 -0
  34. data/resources/templates/error_renderer/with_details/dist/bundle.js +33 -0
  35. data/resources/templates/error_renderer/with_details/dist/styles.css +17 -0
  36. data/resources/templates/error_renderer/with_details/src/DetailsView.jsx +52 -0
  37. data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +61 -0
  38. data/resources/templates/error_renderer/with_details/src/JourneyView.css +50 -0
  39. data/resources/templates/error_renderer/with_details/src/JourneyView.jsx +621 -0
  40. data/resources/templates/error_renderer/with_details/src/PageMain.css +114 -0
  41. data/resources/templates/error_renderer/with_details/src/PageMain.jsx +136 -0
  42. data/resources/templates/error_renderer/with_details/src/ProblemDescriptionView.jsx +14 -0
  43. data/resources/templates/error_renderer/with_details/src/ProcessDetailsView.jsx +56 -0
  44. data/resources/templates/error_renderer/with_details/src/SolutionDescriptionView.css +5 -0
  45. data/resources/templates/error_renderer/with_details/src/SolutionDescriptionView.jsx +15 -0
  46. data/resources/templates/error_renderer/with_details/src/SummaryView.jsx +35 -0
  47. data/resources/templates/error_renderer/with_details/src/SystemComponentView.css +34 -0
  48. data/resources/templates/error_renderer/with_details/src/SystemComponentView.jsx +168 -0
  49. data/resources/templates/error_renderer/with_details/src/SystemComponentsView.css +13 -0
  50. data/resources/templates/error_renderer/with_details/src/SystemComponentsView.jsx +116 -0
  51. data/resources/templates/error_renderer/with_details/src/Tab.jsx +12 -0
  52. data/resources/templates/error_renderer/with_details/src/Tabs.jsx +104 -0
  53. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +3446 -0
  54. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +293 -0
  55. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +401 -0
  56. data/resources/templates/error_renderer/with_details/src/index.html.template +22 -0
  57. data/resources/templates/error_renderer/with_details/src/index.jsx +23 -0
  58. data/resources/templates/error_renderer/with_details/webpack.config.js +47 -0
  59. data/resources/templates/error_renderer/without_details/dist/bundle.js +1 -0
  60. data/resources/templates/error_renderer/without_details/dist/styles.css +1 -0
  61. data/resources/templates/{undisclosed_error.html.template → error_renderer/without_details/src/index.html.template} +7 -11
  62. data/resources/templates/error_renderer/without_details/src/index.js +1 -0
  63. data/resources/templates/{error_layout.css → error_renderer/without_details/src/main.css} +5 -2
  64. data/resources/templates/error_renderer/without_details/webpack.config.js +42 -0
  65. data/src/agent/AgentMain.cpp +3 -3
  66. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +13 -0
  67. data/src/agent/Core/ApplicationPool/Common.h +3 -4
  68. data/src/agent/Core/ApplicationPool/Context.h +27 -17
  69. data/src/agent/Core/ApplicationPool/Group.h +3 -1
  70. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +2 -12
  71. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +55 -10
  72. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
  73. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
  74. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +13 -6
  75. data/src/agent/Core/ApplicationPool/Implementation.cpp +16 -100
  76. data/src/agent/Core/ApplicationPool/Options.h +8 -65
  77. data/src/agent/Core/ApplicationPool/Pool.h +4 -21
  78. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +1 -60
  79. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +10 -13
  80. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +3 -8
  81. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +2 -34
  82. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  83. data/src/agent/Core/ApplicationPool/Process.cpp +17 -12
  84. data/src/agent/Core/ApplicationPool/Process.h +146 -93
  85. data/src/agent/Core/ApplicationPool/Session.h +2 -2
  86. data/src/agent/Core/ApplicationPool/Socket.h +28 -27
  87. data/src/agent/Core/Config.h +1 -3
  88. data/src/agent/Core/ConfigChange.cpp +2 -4
  89. data/src/agent/Core/Controller.h +2 -8
  90. data/src/agent/Core/Controller/BufferBody.cpp +0 -2
  91. data/src/agent/Core/Controller/CheckoutSession.cpp +12 -24
  92. data/src/agent/Core/Controller/Config.h +1 -9
  93. data/src/agent/Core/Controller/ForwardResponse.cpp +0 -34
  94. data/src/agent/Core/Controller/Hooks.cpp +0 -7
  95. data/src/agent/Core/Controller/InitRequest.cpp +0 -43
  96. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +0 -4
  97. data/src/agent/Core/Controller/Request.h +1 -35
  98. data/src/agent/Core/Controller/SendRequest.cpp +0 -32
  99. data/src/agent/Core/CoreMain.cpp +19 -32
  100. data/src/agent/Core/SpawningKit/Config.h +329 -55
  101. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +369 -0
  102. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +307 -0
  103. data/src/agent/Core/SpawningKit/Context.h +211 -0
  104. data/src/agent/Core/SpawningKit/DirectSpawner.h +112 -122
  105. data/src/agent/Core/SpawningKit/DummySpawner.h +59 -20
  106. data/src/agent/Core/SpawningKit/ErrorRenderer.h +117 -0
  107. data/src/agent/Core/SpawningKit/Exceptions.h +1157 -0
  108. data/src/agent/Core/SpawningKit/Factory.h +24 -17
  109. data/src/agent/Core/SpawningKit/{BackgroundIOCapturer.h → Handshake/BackgroundIOCapturer.h} +48 -18
  110. data/src/agent/Core/SpawningKit/Handshake/Perform.h +1650 -0
  111. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +582 -0
  112. data/src/agent/Core/SpawningKit/Handshake/Session.h +91 -0
  113. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +100 -0
  114. data/src/agent/Core/SpawningKit/Journey.h +561 -0
  115. data/src/agent/Core/SpawningKit/PipeWatcher.h +41 -18
  116. data/src/agent/Core/SpawningKit/README.md +534 -0
  117. data/src/agent/Core/SpawningKit/Result.h +182 -7
  118. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +69 -0
  119. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +110 -0
  120. data/src/agent/Core/SpawningKit/SmartSpawner.h +1027 -562
  121. data/src/agent/Core/SpawningKit/Spawner.h +70 -1134
  122. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +3 -33
  123. data/src/agent/README.md +2 -3
  124. data/src/agent/Shared/ApiServerUtils.h +2 -3
  125. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +932 -0
  126. data/src/agent/Watchdog/Config.h +1 -3
  127. data/src/agent/Watchdog/WatchdogMain.cpp +2 -1
  128. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  129. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  130. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +22 -13
  131. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +5 -0
  132. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  133. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +13 -0
  134. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  135. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +13 -0
  136. data/src/cxx_supportlib/Constants.h +3 -1
  137. data/src/cxx_supportlib/Exceptions.h +0 -121
  138. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +7 -6
  139. data/src/cxx_supportlib/LoggingKit/Logging.h +3 -1
  140. data/src/cxx_supportlib/Utils.cpp +42 -0
  141. data/src/cxx_supportlib/Utils.h +7 -0
  142. data/src/cxx_supportlib/Utils/IOUtils.cpp +58 -0
  143. data/src/cxx_supportlib/Utils/IOUtils.h +13 -0
  144. data/src/cxx_supportlib/Utils/JsonUtils.h +130 -23
  145. data/src/cxx_supportlib/Utils/ScopeGuard.h +9 -4
  146. data/src/cxx_supportlib/Utils/StrIntUtils.cpp +7 -0
  147. data/src/cxx_supportlib/Utils/StrIntUtils.h +1 -0
  148. data/src/cxx_supportlib/Utils/SystemTime.h +1 -1
  149. data/src/cxx_supportlib/Utils/Timer.h +1 -1
  150. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +6 -4
  151. data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -0
  152. data/src/helper-scripts/node-loader.js +54 -59
  153. data/src/helper-scripts/rack-loader.rb +63 -60
  154. data/src/helper-scripts/rack-preloader.rb +125 -72
  155. data/src/helper-scripts/wsgi-loader.py +100 -43
  156. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +120 -112
  157. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +15 -8
  158. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +142 -142
  159. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +26 -15
  160. data/src/nginx_module/ConfigGeneral/ManifestGeneration.h +3 -0
  161. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +76 -70
  162. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +114 -99
  163. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +170 -156
  164. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +38 -35
  165. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +5 -1
  166. data/src/ruby_supportlib/phusion_passenger.rb +5 -5
  167. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +14 -1
  168. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +8 -0
  169. data/src/ruby_supportlib/phusion_passenger/common_library.rb +0 -3
  170. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +0 -1
  171. data/src/ruby_supportlib/phusion_passenger/constants.rb +2 -0
  172. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +646 -238
  173. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +117 -95
  174. data/src/ruby_supportlib/phusion_passenger/packaging.rb +0 -1
  175. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +5 -1
  176. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +92 -69
  177. data/src/ruby_supportlib/phusion_passenger/public_api.rb +0 -17
  178. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +0 -3
  179. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -5
  180. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +0 -22
  181. metadata +64 -67
  182. data/resources/templates/error_layout.html.template +0 -86
  183. data/resources/templates/general_error.html.template +0 -1
  184. data/resources/templates/general_error_with_html.html.template +0 -1
  185. data/src/agent/Core/ApplicationPool/ErrorRenderer.h +0 -131
  186. data/src/agent/Core/SpawningKit/Options.h +0 -41
  187. data/src/agent/Core/UnionStation/Connection.h +0 -173
  188. data/src/agent/Core/UnionStation/Context.h +0 -536
  189. data/src/agent/Core/UnionStation/StopwatchLog.h +0 -147
  190. data/src/agent/Core/UnionStation/Transaction.h +0 -249
  191. data/src/agent/SpawnPreparer/SpawnPreparerMain.cpp +0 -208
  192. data/src/cxx_supportlib/UnionStationFilterSupport.cpp +0 -67
  193. data/src/cxx_supportlib/UnionStationFilterSupport.h +0 -1622
  194. data/src/nodejs_supportlib/phusion_passenger/log_express.js +0 -106
  195. data/src/nodejs_supportlib/phusion_passenger/log_mongodb.js +0 -202
  196. data/src/nodejs_supportlib/phusion_passenger/ustreporter.js +0 -227
  197. data/src/nodejs_supportlib/phusion_passenger/ustrouter_connector.js +0 -448
  198. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/CONFIG.md +0 -37
  199. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/Gemfile +0 -17
  200. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/Gemfile.lock +0 -59
  201. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/README-API.md +0 -5
  202. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/README.md +0 -117
  203. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/Rakefile +0 -115
  204. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +0 -423
  205. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/api.rb +0 -238
  206. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/connection.rb +0 -67
  207. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/context.rb +0 -281
  208. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/lock.rb +0 -62
  209. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/log.rb +0 -66
  210. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/message_channel.rb +0 -157
  211. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter.rb +0 -150
  212. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/basics.rb +0 -199
  213. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/controllers.rb +0 -187
  214. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/misc.rb +0 -303
  215. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/view_rendering.rb +0 -91
  216. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/simple_json.rb +0 -396
  217. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/spec_helper.rb +0 -279
  218. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/time_point.rb +0 -39
  219. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/transaction.rb +0 -173
  220. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/utils.rb +0 -177
  221. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version.rb +0 -32
  222. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +0 -44
  223. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.example +0 -16
  224. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis +0 -20
  225. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis-with-sudo +0 -18
  226. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/union_station_hooks_core.gemspec +0 -23
  227. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/Gemfile +0 -14
  228. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/Gemfile.lock +0 -45
  229. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/LICENSE.md +0 -19
  230. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/README.md +0 -104
  231. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/Rakefile +0 -160
  232. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails.rb +0 -200
  233. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/action_controller_extension.rb +0 -45
  234. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/action_view_subscriber.rb +0 -55
  235. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/active_record_subscriber.rb +0 -41
  236. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/active_support_benchmarkable_extension.rb +0 -47
  237. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/active_support_cache_subscriber.rb +0 -79
  238. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/exception_logger.rb +0 -57
  239. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/version.rb +0 -32
  240. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/lib/union_station_hooks_rails/version_data.rb +0 -44
  241. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails/union_station_hooks_rails.gemspec +0 -34
@@ -208,7 +208,7 @@ set_manifest_autogenerated_app_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
208
208
  sizeof("passenger_min_instances") - 1,
209
209
  1);
210
210
 
211
- add_manifest_options_container_static_default_int(ctx,
211
+ add_manifest_options_container_static_default_uint(ctx,
212
212
  options_container,
213
213
  "passenger_start_timeout",
214
214
  sizeof("passenger_start_timeout") - 1,
@@ -273,13 +273,6 @@ set_manifest_autogenerated_app_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
273
273
  sizeof("passenger_max_request_queue_size") - 1,
274
274
  100);
275
275
 
276
- add_manifest_options_container_static_default_str(ctx,
277
- options_container,
278
- "passenger_restart_dir",
279
- sizeof("passenger_restart_dir") - 1,
280
- "tmp",
281
- sizeof("tmp") - 1);
282
-
283
276
  add_manifest_options_container_dynamic_default(ctx,
284
277
  options_container,
285
278
  "passenger_app_type",
@@ -294,6 +287,13 @@ set_manifest_autogenerated_app_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
294
287
  "Autodetected",
295
288
  sizeof("Autodetected") - 1);
296
289
 
290
+ add_manifest_options_container_static_default_str(ctx,
291
+ options_container,
292
+ "passenger_restart_dir",
293
+ sizeof("passenger_restart_dir") - 1,
294
+ "tmp",
295
+ sizeof("tmp") - 1);
296
+
297
297
  add_manifest_options_container_static_default_bool(ctx,
298
298
  options_container,
299
299
  "passenger_abort_websockets_on_process_shutdown",
@@ -306,6 +306,13 @@ set_manifest_autogenerated_app_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
306
306
  sizeof("passenger_force_max_concurrent_requests_per_process") - 1,
307
307
  -1);
308
308
 
309
+ add_manifest_options_container_dynamic_default(ctx,
310
+ options_container,
311
+ "passenger_app_log_file",
312
+ sizeof("passenger_app_log_file") - 1,
313
+ "passenger_log_file",
314
+ sizeof("passenger_log_file") - 1);
315
+
309
316
  }
310
317
 
311
318
  static void
@@ -361,6 +361,18 @@ passenger_conf_set_app_file_descriptor_ulimit(ngx_conf_t *cf, ngx_command_t *cmd
361
361
  return ngx_conf_set_num_slot(cf, cmd, conf);
362
362
  }
363
363
 
364
+ static char *
365
+ passenger_conf_set_max_instances_per_app(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
366
+ passenger_loc_conf_t *passenger_conf = conf;
367
+
368
+ passenger_conf->autogenerated.max_instances_per_app_explicitly_set = 1;
369
+ record_loc_conf_source_location(cf, passenger_conf,
370
+ &passenger_conf->autogenerated.max_instances_per_app_source_file,
371
+ &passenger_conf->autogenerated.max_instances_per_app_source_line);
372
+
373
+ return ngx_conf_set_num_slot(cf, cmd, conf);
374
+ }
375
+
364
376
  static char *
365
377
  passenger_conf_set_admin_panel_url(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
366
378
  passenger_main_conf_t *passenger_conf = conf;
@@ -493,30 +505,6 @@ passenger_conf_set_min_instances(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
493
505
  return ngx_conf_set_num_slot(cf, cmd, conf);
494
506
  }
495
507
 
496
- static char *
497
- passenger_conf_set_max_instances_per_app(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
498
- passenger_loc_conf_t *passenger_conf = conf;
499
-
500
- passenger_conf->autogenerated.max_instances_per_app_explicitly_set = 1;
501
- record_loc_conf_source_location(cf, passenger_conf,
502
- &passenger_conf->autogenerated.max_instances_per_app_source_file,
503
- &passenger_conf->autogenerated.max_instances_per_app_source_line);
504
-
505
- return ngx_conf_set_num_slot(cf, cmd, conf);
506
- }
507
-
508
- static char *
509
- passenger_conf_set_max_requests(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
510
- passenger_loc_conf_t *passenger_conf = conf;
511
-
512
- passenger_conf->autogenerated.max_requests_explicitly_set = 1;
513
- record_loc_conf_source_location(cf, passenger_conf,
514
- &passenger_conf->autogenerated.max_requests_source_file,
515
- &passenger_conf->autogenerated.max_requests_source_line);
516
-
517
- return ngx_conf_set_num_slot(cf, cmd, conf);
518
- }
519
-
520
508
  static char *
521
509
  passenger_conf_set_start_timeout(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
522
510
  passenger_loc_conf_t *passenger_conf = conf;
@@ -529,30 +517,6 @@ passenger_conf_set_start_timeout(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
529
517
  return ngx_conf_set_num_slot(cf, cmd, conf);
530
518
  }
531
519
 
532
- static char *
533
- passenger_conf_set_base_uri(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
534
- passenger_loc_conf_t *passenger_conf = conf;
535
-
536
- passenger_conf->autogenerated.base_uris_explicitly_set = 1;
537
- record_loc_conf_source_location(cf, passenger_conf,
538
- &passenger_conf->autogenerated.base_uris_source_file,
539
- &passenger_conf->autogenerated.base_uris_source_line);
540
-
541
- return ngx_conf_set_str_array_slot(cf, cmd, conf);
542
- }
543
-
544
- static char *
545
- passenger_conf_set_document_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
546
- passenger_loc_conf_t *passenger_conf = conf;
547
-
548
- passenger_conf->autogenerated.document_root_explicitly_set = 1;
549
- record_loc_conf_source_location(cf, passenger_conf,
550
- &passenger_conf->autogenerated.document_root_source_file,
551
- &passenger_conf->autogenerated.document_root_source_line);
552
-
553
- return ngx_conf_set_str_slot(cf, cmd, conf);
554
- }
555
-
556
520
  static char *
557
521
  passenger_conf_set_user(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
558
522
  passenger_loc_conf_t *passenger_conf = conf;
@@ -662,242 +626,278 @@ passenger_conf_set_env_var(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
662
626
  }
663
627
 
664
628
  static char *
665
- passenger_conf_set_set_header(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
629
+ passenger_conf_set_spawn_method(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
666
630
  passenger_loc_conf_t *passenger_conf = conf;
667
631
 
668
- passenger_conf->autogenerated.headers_source_explicitly_set = 1;
632
+ passenger_conf->autogenerated.spawn_method_explicitly_set = 1;
669
633
  record_loc_conf_source_location(cf, passenger_conf,
670
- &passenger_conf->autogenerated.headers_source_source_file,
671
- &passenger_conf->autogenerated.headers_source_source_line);
634
+ &passenger_conf->autogenerated.spawn_method_source_file,
635
+ &passenger_conf->autogenerated.spawn_method_source_line);
672
636
 
673
- return ngx_conf_set_keyval_slot(cf, cmd, conf);
637
+ return ngx_conf_set_str_slot(cf, cmd, conf);
674
638
  }
675
639
 
676
640
  static char *
677
- passenger_conf_set_pass_header(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
641
+ passenger_conf_set_load_shell_envvars(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
678
642
  passenger_loc_conf_t *passenger_conf = conf;
679
643
 
680
- passenger_conf->autogenerated.upstream_config_pass_headers_explicitly_set = 1;
644
+ passenger_conf->autogenerated.load_shell_envvars_explicitly_set = 1;
681
645
  record_loc_conf_source_location(cf, passenger_conf,
682
- &passenger_conf->autogenerated.upstream_config_pass_headers_source_file,
683
- &passenger_conf->autogenerated.upstream_config_pass_headers_source_line);
646
+ &passenger_conf->autogenerated.load_shell_envvars_source_file,
647
+ &passenger_conf->autogenerated.load_shell_envvars_source_line);
684
648
 
685
- return ngx_conf_set_str_array_slot(cf, cmd, conf);
649
+ return ngx_conf_set_flag_slot(cf, cmd, conf);
686
650
  }
687
651
 
688
652
  static char *
689
- passenger_conf_set_headers_hash_max_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
653
+ passenger_conf_set_max_request_queue_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
690
654
  passenger_loc_conf_t *passenger_conf = conf;
691
655
 
692
- passenger_conf->autogenerated.headers_hash_max_size_explicitly_set = 1;
656
+ passenger_conf->autogenerated.max_request_queue_size_explicitly_set = 1;
693
657
  record_loc_conf_source_location(cf, passenger_conf,
694
- &passenger_conf->autogenerated.headers_hash_max_size_source_file,
695
- &passenger_conf->autogenerated.headers_hash_max_size_source_line);
658
+ &passenger_conf->autogenerated.max_request_queue_size_source_file,
659
+ &passenger_conf->autogenerated.max_request_queue_size_source_line);
696
660
 
697
661
  return ngx_conf_set_num_slot(cf, cmd, conf);
698
662
  }
699
663
 
700
664
  static char *
701
- passenger_conf_set_headers_hash_bucket_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
665
+ passenger_conf_set_app_type(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
702
666
  passenger_loc_conf_t *passenger_conf = conf;
703
667
 
704
- passenger_conf->autogenerated.headers_hash_bucket_size_explicitly_set = 1;
668
+ passenger_conf->autogenerated.app_type_explicitly_set = 1;
705
669
  record_loc_conf_source_location(cf, passenger_conf,
706
- &passenger_conf->autogenerated.headers_hash_bucket_size_source_file,
707
- &passenger_conf->autogenerated.headers_hash_bucket_size_source_line);
670
+ &passenger_conf->autogenerated.app_type_source_file,
671
+ &passenger_conf->autogenerated.app_type_source_line);
708
672
 
709
- return ngx_conf_set_num_slot(cf, cmd, conf);
673
+ return ngx_conf_set_str_slot(cf, cmd, conf);
710
674
  }
711
675
 
712
676
  static char *
713
- passenger_conf_set_ignore_client_abort(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
677
+ passenger_conf_set_startup_file(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
714
678
  passenger_loc_conf_t *passenger_conf = conf;
715
679
 
716
- passenger_conf->autogenerated.upstream_config_ignore_client_abort_explicitly_set = 1;
680
+ passenger_conf->autogenerated.startup_file_explicitly_set = 1;
717
681
  record_loc_conf_source_location(cf, passenger_conf,
718
- &passenger_conf->autogenerated.upstream_config_ignore_client_abort_source_file,
719
- &passenger_conf->autogenerated.upstream_config_ignore_client_abort_source_line);
682
+ &passenger_conf->autogenerated.startup_file_source_file,
683
+ &passenger_conf->autogenerated.startup_file_source_line);
720
684
 
721
- return ngx_conf_set_flag_slot(cf, cmd, conf);
685
+ return ngx_conf_set_str_slot(cf, cmd, conf);
722
686
  }
723
687
 
724
688
  static char *
725
- passenger_conf_set_read_timeout(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
689
+ passenger_conf_set_restart_dir(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
726
690
  passenger_loc_conf_t *passenger_conf = conf;
727
691
 
728
- passenger_conf->autogenerated.upstream_config_read_timeout_explicitly_set = 1;
692
+ passenger_conf->autogenerated.restart_dir_explicitly_set = 1;
729
693
  record_loc_conf_source_location(cf, passenger_conf,
730
- &passenger_conf->autogenerated.upstream_config_read_timeout_source_file,
731
- &passenger_conf->autogenerated.upstream_config_read_timeout_source_line);
694
+ &passenger_conf->autogenerated.restart_dir_source_file,
695
+ &passenger_conf->autogenerated.restart_dir_source_line);
732
696
 
733
- return ngx_conf_set_msec_slot(cf, cmd, conf);
697
+ return ngx_conf_set_str_slot(cf, cmd, conf);
734
698
  }
735
699
 
736
700
  static char *
737
- passenger_conf_set_buffer_response(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
701
+ passenger_conf_set_abort_websockets_on_process_shutdown(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
738
702
  passenger_loc_conf_t *passenger_conf = conf;
739
703
 
740
- passenger_conf->autogenerated.upstream_config_buffering_explicitly_set = 1;
704
+ passenger_conf->autogenerated.abort_websockets_on_process_shutdown_explicitly_set = 1;
741
705
  record_loc_conf_source_location(cf, passenger_conf,
742
- &passenger_conf->autogenerated.upstream_config_buffering_source_file,
743
- &passenger_conf->autogenerated.upstream_config_buffering_source_line);
706
+ &passenger_conf->autogenerated.abort_websockets_on_process_shutdown_source_file,
707
+ &passenger_conf->autogenerated.abort_websockets_on_process_shutdown_source_line);
744
708
 
745
709
  return ngx_conf_set_flag_slot(cf, cmd, conf);
746
710
  }
747
711
 
748
712
  static char *
749
- passenger_conf_set_intercept_errors(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
713
+ passenger_conf_set_force_max_concurrent_requests_per_process(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
750
714
  passenger_loc_conf_t *passenger_conf = conf;
751
715
 
752
- passenger_conf->autogenerated.upstream_config_intercept_errors_explicitly_set = 1;
716
+ passenger_conf->autogenerated.force_max_concurrent_requests_per_process_explicitly_set = 1;
753
717
  record_loc_conf_source_location(cf, passenger_conf,
754
- &passenger_conf->autogenerated.upstream_config_intercept_errors_source_file,
755
- &passenger_conf->autogenerated.upstream_config_intercept_errors_source_line);
718
+ &passenger_conf->autogenerated.force_max_concurrent_requests_per_process_source_file,
719
+ &passenger_conf->autogenerated.force_max_concurrent_requests_per_process_source_line);
756
720
 
757
- return ngx_conf_set_flag_slot(cf, cmd, conf);
721
+ return ngx_conf_set_num_slot(cf, cmd, conf);
758
722
  }
759
723
 
760
724
  static char *
761
- passenger_conf_set_spawn_method(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
725
+ passenger_conf_set_max_requests(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
762
726
  passenger_loc_conf_t *passenger_conf = conf;
763
727
 
764
- passenger_conf->autogenerated.spawn_method_explicitly_set = 1;
728
+ passenger_conf->autogenerated.max_requests_explicitly_set = 1;
765
729
  record_loc_conf_source_location(cf, passenger_conf,
766
- &passenger_conf->autogenerated.spawn_method_source_file,
767
- &passenger_conf->autogenerated.spawn_method_source_line);
730
+ &passenger_conf->autogenerated.max_requests_source_file,
731
+ &passenger_conf->autogenerated.max_requests_source_line);
732
+
733
+ return ngx_conf_set_num_slot(cf, cmd, conf);
734
+ }
735
+
736
+ static char *
737
+ passenger_conf_set_base_uri(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
738
+ passenger_loc_conf_t *passenger_conf = conf;
739
+
740
+ passenger_conf->autogenerated.base_uris_explicitly_set = 1;
741
+ record_loc_conf_source_location(cf, passenger_conf,
742
+ &passenger_conf->autogenerated.base_uris_source_file,
743
+ &passenger_conf->autogenerated.base_uris_source_line);
744
+
745
+ return ngx_conf_set_str_array_slot(cf, cmd, conf);
746
+ }
747
+
748
+ static char *
749
+ passenger_conf_set_document_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
750
+ passenger_loc_conf_t *passenger_conf = conf;
751
+
752
+ passenger_conf->autogenerated.document_root_explicitly_set = 1;
753
+ record_loc_conf_source_location(cf, passenger_conf,
754
+ &passenger_conf->autogenerated.document_root_source_file,
755
+ &passenger_conf->autogenerated.document_root_source_line);
768
756
 
769
757
  return ngx_conf_set_str_slot(cf, cmd, conf);
770
758
  }
771
759
 
772
760
  static char *
773
- passenger_conf_set_load_shell_envvars(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
761
+ passenger_conf_set_set_header(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
774
762
  passenger_loc_conf_t *passenger_conf = conf;
775
763
 
776
- passenger_conf->autogenerated.load_shell_envvars_explicitly_set = 1;
764
+ passenger_conf->autogenerated.headers_source_explicitly_set = 1;
777
765
  record_loc_conf_source_location(cf, passenger_conf,
778
- &passenger_conf->autogenerated.load_shell_envvars_source_file,
779
- &passenger_conf->autogenerated.load_shell_envvars_source_line);
766
+ &passenger_conf->autogenerated.headers_source_source_file,
767
+ &passenger_conf->autogenerated.headers_source_source_line);
780
768
 
781
- return ngx_conf_set_flag_slot(cf, cmd, conf);
769
+ return ngx_conf_set_keyval_slot(cf, cmd, conf);
782
770
  }
783
771
 
784
772
  static char *
785
- passenger_conf_set_max_request_queue_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
773
+ passenger_conf_set_pass_header(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
786
774
  passenger_loc_conf_t *passenger_conf = conf;
787
775
 
788
- passenger_conf->autogenerated.max_request_queue_size_explicitly_set = 1;
776
+ passenger_conf->autogenerated.upstream_config_pass_headers_explicitly_set = 1;
789
777
  record_loc_conf_source_location(cf, passenger_conf,
790
- &passenger_conf->autogenerated.max_request_queue_size_source_file,
791
- &passenger_conf->autogenerated.max_request_queue_size_source_line);
778
+ &passenger_conf->autogenerated.upstream_config_pass_headers_source_file,
779
+ &passenger_conf->autogenerated.upstream_config_pass_headers_source_line);
792
780
 
793
- return ngx_conf_set_num_slot(cf, cmd, conf);
781
+ return ngx_conf_set_str_array_slot(cf, cmd, conf);
794
782
  }
795
783
 
796
784
  static char *
797
- passenger_conf_set_request_queue_overflow_status_code(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
785
+ passenger_conf_set_headers_hash_max_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
798
786
  passenger_loc_conf_t *passenger_conf = conf;
799
787
 
800
- passenger_conf->autogenerated.request_queue_overflow_status_code_explicitly_set = 1;
788
+ passenger_conf->autogenerated.headers_hash_max_size_explicitly_set = 1;
801
789
  record_loc_conf_source_location(cf, passenger_conf,
802
- &passenger_conf->autogenerated.request_queue_overflow_status_code_source_file,
803
- &passenger_conf->autogenerated.request_queue_overflow_status_code_source_line);
790
+ &passenger_conf->autogenerated.headers_hash_max_size_source_file,
791
+ &passenger_conf->autogenerated.headers_hash_max_size_source_line);
804
792
 
805
793
  return ngx_conf_set_num_slot(cf, cmd, conf);
806
794
  }
807
795
 
808
796
  static char *
809
- passenger_conf_set_restart_dir(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
797
+ passenger_conf_set_headers_hash_bucket_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
810
798
  passenger_loc_conf_t *passenger_conf = conf;
811
799
 
812
- passenger_conf->autogenerated.restart_dir_explicitly_set = 1;
800
+ passenger_conf->autogenerated.headers_hash_bucket_size_explicitly_set = 1;
813
801
  record_loc_conf_source_location(cf, passenger_conf,
814
- &passenger_conf->autogenerated.restart_dir_source_file,
815
- &passenger_conf->autogenerated.restart_dir_source_line);
802
+ &passenger_conf->autogenerated.headers_hash_bucket_size_source_file,
803
+ &passenger_conf->autogenerated.headers_hash_bucket_size_source_line);
816
804
 
817
- return ngx_conf_set_str_slot(cf, cmd, conf);
805
+ return ngx_conf_set_num_slot(cf, cmd, conf);
818
806
  }
819
807
 
820
808
  static char *
821
- passenger_conf_set_app_type(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
809
+ passenger_conf_set_ignore_client_abort(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
822
810
  passenger_loc_conf_t *passenger_conf = conf;
823
811
 
824
- passenger_conf->autogenerated.app_type_explicitly_set = 1;
812
+ passenger_conf->autogenerated.upstream_config_ignore_client_abort_explicitly_set = 1;
825
813
  record_loc_conf_source_location(cf, passenger_conf,
826
- &passenger_conf->autogenerated.app_type_source_file,
827
- &passenger_conf->autogenerated.app_type_source_line);
814
+ &passenger_conf->autogenerated.upstream_config_ignore_client_abort_source_file,
815
+ &passenger_conf->autogenerated.upstream_config_ignore_client_abort_source_line);
828
816
 
829
- return ngx_conf_set_str_slot(cf, cmd, conf);
817
+ return ngx_conf_set_flag_slot(cf, cmd, conf);
830
818
  }
831
819
 
832
820
  static char *
833
- passenger_conf_set_startup_file(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
821
+ passenger_conf_set_read_timeout(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
834
822
  passenger_loc_conf_t *passenger_conf = conf;
835
823
 
836
- passenger_conf->autogenerated.startup_file_explicitly_set = 1;
824
+ passenger_conf->autogenerated.upstream_config_read_timeout_explicitly_set = 1;
837
825
  record_loc_conf_source_location(cf, passenger_conf,
838
- &passenger_conf->autogenerated.startup_file_source_file,
839
- &passenger_conf->autogenerated.startup_file_source_line);
826
+ &passenger_conf->autogenerated.upstream_config_read_timeout_source_file,
827
+ &passenger_conf->autogenerated.upstream_config_read_timeout_source_line);
840
828
 
841
- return ngx_conf_set_str_slot(cf, cmd, conf);
829
+ return ngx_conf_set_msec_slot(cf, cmd, conf);
842
830
  }
843
831
 
844
832
  static char *
845
- passenger_conf_set_sticky_sessions(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
833
+ passenger_conf_set_buffer_response(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
846
834
  passenger_loc_conf_t *passenger_conf = conf;
847
835
 
848
- passenger_conf->autogenerated.sticky_sessions_explicitly_set = 1;
836
+ passenger_conf->autogenerated.upstream_config_buffering_explicitly_set = 1;
849
837
  record_loc_conf_source_location(cf, passenger_conf,
850
- &passenger_conf->autogenerated.sticky_sessions_source_file,
851
- &passenger_conf->autogenerated.sticky_sessions_source_line);
838
+ &passenger_conf->autogenerated.upstream_config_buffering_source_file,
839
+ &passenger_conf->autogenerated.upstream_config_buffering_source_line);
852
840
 
853
841
  return ngx_conf_set_flag_slot(cf, cmd, conf);
854
842
  }
855
843
 
856
844
  static char *
857
- passenger_conf_set_sticky_sessions_cookie_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
845
+ passenger_conf_set_intercept_errors(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
858
846
  passenger_loc_conf_t *passenger_conf = conf;
859
847
 
860
- passenger_conf->autogenerated.sticky_sessions_cookie_name_explicitly_set = 1;
848
+ passenger_conf->autogenerated.upstream_config_intercept_errors_explicitly_set = 1;
861
849
  record_loc_conf_source_location(cf, passenger_conf,
862
- &passenger_conf->autogenerated.sticky_sessions_cookie_name_source_file,
863
- &passenger_conf->autogenerated.sticky_sessions_cookie_name_source_line);
850
+ &passenger_conf->autogenerated.upstream_config_intercept_errors_source_file,
851
+ &passenger_conf->autogenerated.upstream_config_intercept_errors_source_line);
864
852
 
865
- return ngx_conf_set_str_slot(cf, cmd, conf);
853
+ return ngx_conf_set_flag_slot(cf, cmd, conf);
866
854
  }
867
855
 
868
856
  static char *
869
- passenger_conf_set_vary_turbocache_by_cookie(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
857
+ passenger_conf_set_request_queue_overflow_status_code(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
870
858
  passenger_loc_conf_t *passenger_conf = conf;
871
859
 
872
- passenger_conf->autogenerated.vary_turbocache_by_cookie_explicitly_set = 1;
860
+ passenger_conf->autogenerated.request_queue_overflow_status_code_explicitly_set = 1;
873
861
  record_loc_conf_source_location(cf, passenger_conf,
874
- &passenger_conf->autogenerated.vary_turbocache_by_cookie_source_file,
875
- &passenger_conf->autogenerated.vary_turbocache_by_cookie_source_line);
862
+ &passenger_conf->autogenerated.request_queue_overflow_status_code_source_file,
863
+ &passenger_conf->autogenerated.request_queue_overflow_status_code_source_line);
876
864
 
877
- return ngx_conf_set_str_slot(cf, cmd, conf);
865
+ return ngx_conf_set_num_slot(cf, cmd, conf);
878
866
  }
879
867
 
880
868
  static char *
881
- passenger_conf_set_abort_websockets_on_process_shutdown(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
869
+ passenger_conf_set_sticky_sessions(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
882
870
  passenger_loc_conf_t *passenger_conf = conf;
883
871
 
884
- passenger_conf->autogenerated.abort_websockets_on_process_shutdown_explicitly_set = 1;
872
+ passenger_conf->autogenerated.sticky_sessions_explicitly_set = 1;
885
873
  record_loc_conf_source_location(cf, passenger_conf,
886
- &passenger_conf->autogenerated.abort_websockets_on_process_shutdown_source_file,
887
- &passenger_conf->autogenerated.abort_websockets_on_process_shutdown_source_line);
874
+ &passenger_conf->autogenerated.sticky_sessions_source_file,
875
+ &passenger_conf->autogenerated.sticky_sessions_source_line);
888
876
 
889
877
  return ngx_conf_set_flag_slot(cf, cmd, conf);
890
878
  }
891
879
 
892
880
  static char *
893
- passenger_conf_set_force_max_concurrent_requests_per_process(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
881
+ passenger_conf_set_sticky_sessions_cookie_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
894
882
  passenger_loc_conf_t *passenger_conf = conf;
895
883
 
896
- passenger_conf->autogenerated.force_max_concurrent_requests_per_process_explicitly_set = 1;
884
+ passenger_conf->autogenerated.sticky_sessions_cookie_name_explicitly_set = 1;
897
885
  record_loc_conf_source_location(cf, passenger_conf,
898
- &passenger_conf->autogenerated.force_max_concurrent_requests_per_process_source_file,
899
- &passenger_conf->autogenerated.force_max_concurrent_requests_per_process_source_line);
886
+ &passenger_conf->autogenerated.sticky_sessions_cookie_name_source_file,
887
+ &passenger_conf->autogenerated.sticky_sessions_cookie_name_source_line);
900
888
 
901
- return ngx_conf_set_num_slot(cf, cmd, conf);
889
+ return ngx_conf_set_str_slot(cf, cmd, conf);
890
+ }
891
+
892
+ static char *
893
+ passenger_conf_set_vary_turbocache_by_cookie(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
894
+ passenger_loc_conf_t *passenger_conf = conf;
895
+
896
+ passenger_conf->autogenerated.vary_turbocache_by_cookie_explicitly_set = 1;
897
+ record_loc_conf_source_location(cf, passenger_conf,
898
+ &passenger_conf->autogenerated.vary_turbocache_by_cookie_source_file,
899
+ &passenger_conf->autogenerated.vary_turbocache_by_cookie_source_line);
900
+
901
+ return ngx_conf_set_str_slot(cf, cmd, conf);
902
902
  }
903
903