passenger 5.3.4 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +69 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README.md +2 -1
  5. data/Rakefile +0 -5
  6. data/build/agent.rb +6 -3
  7. data/build/cxx_tests.rb +28 -19
  8. data/build/integration_tests.rb +6 -2
  9. data/build/misc.rb +2 -1
  10. data/build/packaging.rb +2 -0
  11. data/build/support/cplusplus.rb +2 -2
  12. data/build/support/cxx_dependency_map.rb +2651 -2189
  13. data/dev/colorize-logs +272 -0
  14. data/dev/show-latest-crashlog-dir +27 -0
  15. data/resources/templates/standalone/http.erb +2 -0
  16. data/resources/templates/standalone/server.erb +1 -0
  17. data/src/agent/AgentMain.cpp +4 -0
  18. data/src/agent/Core/AdminPanelConnector.h +6 -6
  19. data/src/agent/Core/ApiServer.h +4 -4
  20. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  21. data/src/agent/Core/ApplicationPool/Context.h +5 -1
  22. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
  23. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +5 -0
  24. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +2 -1
  25. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +3 -3
  26. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  27. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +13 -20
  28. data/src/agent/Core/ApplicationPool/Group.h +4 -2
  29. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  30. data/src/agent/Core/ApplicationPool/Options.h +42 -38
  31. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +2 -1
  32. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  33. data/src/agent/Core/ApplicationPool/Process.h +13 -15
  34. data/src/agent/Core/ApplicationPool/Socket.h +5 -5
  35. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  36. data/src/agent/Core/Config.h +50 -10
  37. data/src/agent/Core/ConfigChange.cpp +13 -1
  38. data/src/agent/Core/Controller/Config.h +41 -17
  39. data/src/agent/Core/Controller/ForwardResponse.cpp +4 -0
  40. data/src/agent/Core/Controller/InitRequest.cpp +14 -8
  41. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +5 -0
  42. data/src/agent/Core/Controller/SendRequest.cpp +9 -9
  43. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  44. data/src/agent/Core/Controller.h +7 -5
  45. data/src/agent/Core/CoreMain.cpp +204 -60
  46. data/src/agent/Core/OptionParser.h +20 -3
  47. data/src/agent/Core/ResponseCache.h +3 -3
  48. data/src/agent/Core/SecurityUpdateChecker.h +4 -2
  49. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  50. data/src/agent/Core/SpawningKit/Config.h +3 -2
  51. data/src/agent/Core/SpawningKit/Context.h +8 -2
  52. data/src/agent/Core/SpawningKit/DirectSpawner.h +4 -4
  53. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  54. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  55. data/src/agent/Core/SpawningKit/Exceptions.h +21 -14
  56. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  57. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  58. data/src/agent/Core/SpawningKit/Handshake/Perform.h +14 -2
  59. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  60. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  61. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  62. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  63. data/src/agent/Core/SpawningKit/README.md +34 -17
  64. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  65. data/src/agent/Core/SpawningKit/Result.h +20 -8
  66. data/src/agent/Core/SpawningKit/SmartSpawner.h +7 -7
  67. data/src/agent/Core/SpawningKit/Spawner.h +25 -8
  68. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +17 -7
  69. data/src/agent/Core/TelemetryCollector.h +681 -0
  70. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  71. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +198 -0
  72. data/src/agent/README.md +1 -1
  73. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  74. data/src/agent/Shared/ApiServerUtils.h +3 -3
  75. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  76. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +324 -98
  77. data/src/agent/Shared/Fundamentals/AbortHandler.h +31 -4
  78. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -5
  79. data/src/agent/Shared/Fundamentals/Initialization.h +9 -1
  80. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  81. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  82. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +3 -3
  83. data/src/agent/Watchdog/ApiServer.h +3 -3
  84. data/src/agent/Watchdog/Config.h +24 -5
  85. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  86. data/src/agent/Watchdog/WatchdogMain.cpp +97 -28
  87. data/src/apache2_module/Config.cpp +14 -14
  88. data/src/apache2_module/Config.h +8 -16
  89. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +510 -481
  90. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  91. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  92. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +69 -1
  93. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  94. data/src/apache2_module/ConfigGeneral/Common.h +45 -0
  95. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +17 -1
  96. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  97. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  98. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  99. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +19 -1
  100. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  101. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -1
  102. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  103. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +36 -1
  104. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  105. data/src/apache2_module/DirectoryMapper.h +36 -37
  106. data/src/apache2_module/Hooks.cpp +27 -8
  107. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  108. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +48 -1
  109. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  110. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  111. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  112. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +148 -0
  113. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +147 -0
  114. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +75 -0
  115. data/src/cxx_supportlib/{AppTypes.h → AppTypeDetector/Detector.h} +92 -131
  116. data/src/cxx_supportlib/ConfigKit/README.md +90 -2
  117. data/src/cxx_supportlib/ConfigKit/Schema.h +60 -15
  118. data/src/cxx_supportlib/ConfigKit/Store.h +129 -5
  119. data/src/cxx_supportlib/Constants.h +1 -1
  120. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  121. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  122. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  123. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  124. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  125. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  126. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  127. data/src/cxx_supportlib/Hooks.h +2 -2
  128. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  129. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +4 -3
  130. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  131. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  132. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  133. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  134. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  135. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  136. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  137. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  138. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  139. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +3 -3
  140. data/src/cxx_supportlib/ProcessManagement/Ruby.h +7 -2
  141. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +19 -12
  142. data/src/cxx_supportlib/ProcessManagement/Spawn.h +21 -2
  143. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  144. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  145. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  146. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  147. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  148. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  149. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  150. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  151. data/src/cxx_supportlib/ServerKit/ClientRef.h +17 -7
  152. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  153. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  154. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  155. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  156. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +17 -7
  157. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  158. data/src/cxx_supportlib/ServerKit/Server.h +3 -4
  159. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  160. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  161. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  162. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +12 -12
  163. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  164. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  165. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +88 -0
  166. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +15 -12
  167. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  168. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  169. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  170. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  171. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  172. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  173. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  174. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  175. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  176. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  177. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  178. data/src/cxx_supportlib/Utils.cpp +2 -2
  179. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  180. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  181. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +85 -0
  182. data/src/cxx_supportlib/{Utils/MemoryBarrier.h → WrapperRegistry/CBindings.h} +30 -27
  183. data/src/cxx_supportlib/WrapperRegistry/Entry.h +112 -0
  184. data/src/cxx_supportlib/WrapperRegistry/README.md +37 -0
  185. data/src/cxx_supportlib/WrapperRegistry/Registry.h +309 -0
  186. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  187. data/src/helper-scripts/download_binaries/extconf.rb +6 -2
  188. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +32 -0
  189. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +12 -0
  190. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +36 -0
  191. data/src/nginx_module/Configuration.c +23 -3
  192. data/src/nginx_module/ContentHandler.c +331 -32
  193. data/src/nginx_module/ContentHandler.h +8 -3
  194. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +10 -0
  195. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +27 -0
  196. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  197. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +7 -0
  198. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  199. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  200. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  201. data/src/nginx_module/config +2 -1
  202. data/src/nginx_module/ngx_http_passenger_module.c +9 -3
  203. data/src/nginx_module/ngx_http_passenger_module.h +10 -3
  204. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +19 -0
  205. data/src/ruby_supportlib/phusion_passenger/common_library.rb +19 -16
  206. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  207. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +6 -2
  208. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +6 -2
  209. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  210. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  211. data/src/ruby_supportlib/phusion_passenger/native_support.rb +7 -3
  212. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +29 -0
  213. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  214. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  215. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  216. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -0
  217. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +22 -2
  218. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -1
  219. data/src/ruby_supportlib/phusion_passenger.rb +7 -5
  220. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  221. metadata +40 -89
  222. data/.editorconfig +0 -134
  223. data/CODE_OF_CONDUCT.md +0 -52
  224. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  225. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  226. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  227. data/dev/ci/README.md +0 -134
  228. data/dev/ci/lib/functions.sh +0 -129
  229. data/dev/ci/lib/set-container-envvars.sh +0 -53
  230. data/dev/ci/lib/setup-container.sh +0 -46
  231. data/dev/ci/run-tests-natively +0 -24
  232. data/dev/ci/run-tests-with-docker +0 -42
  233. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  234. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  235. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  236. data/dev/ci/scripts/inituidgid +0 -17
  237. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  238. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  239. data/dev/ci/setup-host +0 -56
  240. data/dev/ci/tests/apache2/run +0 -6
  241. data/dev/ci/tests/apache2/setup +0 -4
  242. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  243. data/dev/ci/tests/binaries/build-linux +0 -38
  244. data/dev/ci/tests/binaries/build-macos +0 -40
  245. data/dev/ci/tests/binaries/prepare-macos +0 -38
  246. data/dev/ci/tests/binaries/test-linux +0 -45
  247. data/dev/ci/tests/binaries/test-macos +0 -38
  248. data/dev/ci/tests/cxx/run +0 -9
  249. data/dev/ci/tests/cxx/setup +0 -4
  250. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  251. data/dev/ci/tests/debian/run +0 -60
  252. data/dev/ci/tests/nginx/run +0 -5
  253. data/dev/ci/tests/nginx/setup +0 -4
  254. data/dev/ci/tests/nginx-dynamic/run +0 -20
  255. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  256. data/dev/ci/tests/nodejs/run +0 -4
  257. data/dev/ci/tests/nodejs/setup +0 -4
  258. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  259. data/dev/ci/tests/rpm/run +0 -63
  260. data/dev/ci/tests/ruby/run +0 -4
  261. data/dev/ci/tests/ruby/setup +0 -4
  262. data/dev/ci/tests/source-packaging/run +0 -4
  263. data/dev/ci/tests/source-packaging/setup +0 -4
  264. data/dev/ci/tests/standalone/run +0 -4
  265. data/dev/ci/tests/standalone/setup +0 -4
  266. data/dev/configkit-schemas/index.json +0 -1748
  267. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  268. data/dev/rack.test/config.ru +0 -5
  269. data/dev/rack.test/public/asset.txt +0 -1
  270. data/dev/vagrant/apache_default_site.conf +0 -35
  271. data/dev/vagrant/apache_passenger.conf +0 -5
  272. data/dev/vagrant/apache_passenger.load +0 -1
  273. data/dev/vagrant/apache_ports.conf +0 -24
  274. data/dev/vagrant/apache_rack_test.conf +0 -9
  275. data/dev/vagrant/bashrc +0 -23
  276. data/dev/vagrant/nginx.conf +0 -39
  277. data/dev/vagrant/nginx_rakefile +0 -33
  278. data/dev/vagrant/nginx_start +0 -32
  279. data/dev/vagrant/provision.sh +0 -117
  280. data/dev/vagrant/sudoers.conf +0 -5
  281. data/resources/templates/error_renderer/.editorconfig +0 -19
  282. data/src/cxx_supportlib/AppTypes.cpp +0 -109
  283. data/src/cxx_supportlib/vendor-modified/SmallVector.h +0 -653
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -48,23 +48,45 @@ def main
48
48
 
49
49
  separator
50
50
 
51
- APACHE2_CONFIGURATION_OPTIONS.each do |option|
52
- option = resolve_possible_alias(option)
53
- format =
54
- "%s(%s,\n" \
55
- "\t(%s) %s,\n" \
56
- "\tNULL,\n" \
57
- "\t%s,\n" \
58
- "\t%s),\n"
59
- code = sprintf(format,
60
- macro_for(option),
61
- name_for(option),
62
- function_type_for(option),
63
- function_for(option),
64
- definition_context_for(option),
65
- description_for(option))
66
- add_code(code)
51
+ add_code %Q[
52
+ #ifdef INTELLISENSE
53
+ // This include does nothing, but keeps IntelliSense happy.
54
+ #include <http_config.h>
55
+ #endif
56
+
57
+ namespace Passenger {
58
+ namespace Apache2Module {
59
+
60
+ extern "C" const command_rec passenger_commands[] = {
61
+ ]
62
+
63
+ indent do
64
+ APACHE2_CONFIGURATION_OPTIONS.each do |option|
65
+ option = resolve_possible_alias(option)
66
+ format =
67
+ "%s(%s,\n" \
68
+ "\t(%s) %s,\n" \
69
+ "\tNULL,\n" \
70
+ "\t%s,\n" \
71
+ "\t%s),\n"
72
+ code = sprintf(format,
73
+ macro_for(option),
74
+ name_for(option),
75
+ function_type_for(option),
76
+ function_for(option),
77
+ definition_context_for(option),
78
+ description_for(option))
79
+ add_code(code)
80
+ end
67
81
  end
82
+
83
+ add_code %Q[
84
+ { NULL }
85
+ };
86
+
87
+ } // namespace Apache2Module
88
+ } // namespace Passenger
89
+ ]
68
90
  end
69
91
 
70
92
  def resolve_possible_alias(option)
@@ -68,6 +68,11 @@ ConfigManifestGenerator::autoGenerated_setGlobalConfigDefaults() {
68
68
  "PassengerDefaultUser",
69
69
  PASSENGER_DEFAULT_USER);
70
70
 
71
+ addOptionsContainerStaticDefaultBool(
72
+ globalConfigContainer,
73
+ "PassengerDisableAnonymousTelemetry",
74
+ false);
75
+
71
76
  addOptionsContainerStaticDefaultBool(
72
77
  globalConfigContainer,
73
78
  "PassengerDisableSecurityUpdateCheck",
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2010-2018 Phusion Holding B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  * trademarks of Phusion Holding B.V.
@@ -23,6 +23,24 @@
23
23
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
24
  * THE SOFTWARE.
25
25
  */
26
+ #ifndef _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_
27
+ #define _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_
28
+
29
+ #ifdef INTELLISENSE
30
+ // These includes do nothing, but keep IntelliSense happy.
31
+ #include <ap_config.h>
32
+ #include <http_config.h>
33
+ #include <http_log.h>
34
+ #include "../Config.h"
35
+
36
+ #ifdef APLOG_USE_MODULE
37
+ extern "C" module AP_MODULE_DECLARE_DATA passenger_module;
38
+ APLOG_USE_MODULE(passenger);
39
+ #endif
40
+ #endif
41
+
42
+ namespace Passenger {
43
+ namespace Apache2Module {
26
44
 
27
45
  /*
28
46
  * ConfigGeneral/AutoGeneratedSetterFuncs.cpp is automatically generated from
@@ -125,6 +143,21 @@ cmd_passenger_analytics_log_user(cmd_parms *cmd, void *pcfg, const char *arg) {
125
143
  return NULL;
126
144
  }
127
145
 
146
+ static const char *
147
+ cmd_passenger_anonymous_telemetry_proxy(cmd_parms *cmd, void *pcfg, const char *arg) {
148
+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
149
+ if (err != NULL) {
150
+ ap_log_perror(APLOG_MARK, APLOG_STARTUP, 0, cmd->temp_pool,
151
+ "WARNING: %s", err);
152
+ }
153
+
154
+ serverConfig.anonymousTelemetryProxySourceFile = cmd->directive->filename;
155
+ serverConfig.anonymousTelemetryProxySourceLine = cmd->directive->line_num;
156
+ serverConfig.anonymousTelemetryProxyExplicitlySet = true;
157
+ serverConfig.anonymousTelemetryProxy = arg;
158
+ return NULL;
159
+ }
160
+
128
161
  static const char *
129
162
  cmd_passenger_app_env(cmd_parms *cmd, void *pcfg, const char *arg) {
130
163
  const char *err = ap_check_cmd_context(cmd, NOT_IN_FILES);
@@ -170,6 +203,21 @@ cmd_passenger_app_root(cmd_parms *cmd, void *pcfg, const char *arg) {
170
203
  return NULL;
171
204
  }
172
205
 
206
+ static const char *
207
+ cmd_passenger_app_start_command(cmd_parms *cmd, void *pcfg, const char *arg) {
208
+ const char *err = ap_check_cmd_context(cmd, NOT_IN_FILES);
209
+ if (err != NULL) {
210
+ return err;
211
+ }
212
+
213
+ DirConfig *config = (DirConfig *) pcfg;
214
+ config->mAppStartCommandSourceFile = cmd->directive->filename;
215
+ config->mAppStartCommandSourceLine = cmd->directive->line_num;
216
+ config->mAppStartCommandExplicitlySet = true;
217
+ config->mAppStartCommand = arg;
218
+ return NULL;
219
+ }
220
+
173
221
  static const char *
174
222
  cmd_passenger_app_type(cmd_parms *cmd, void *pcfg, const char *arg) {
175
223
  const char *err = ap_check_cmd_context(cmd, NOT_IN_FILES);
@@ -271,6 +319,21 @@ cmd_passenger_default_user(cmd_parms *cmd, void *pcfg, const char *arg) {
271
319
  return NULL;
272
320
  }
273
321
 
322
+ static const char *
323
+ cmd_passenger_disable_anonymous_telemetry(cmd_parms *cmd, void *pcfg, const char *arg) {
324
+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
325
+ if (err != NULL) {
326
+ ap_log_perror(APLOG_MARK, APLOG_STARTUP, 0, cmd->temp_pool,
327
+ "WARNING: %s", err);
328
+ }
329
+
330
+ serverConfig.disableAnonymousTelemetrySourceFile = cmd->directive->filename;
331
+ serverConfig.disableAnonymousTelemetrySourceLine = cmd->directive->line_num;
332
+ serverConfig.disableAnonymousTelemetryExplicitlySet = true;
333
+ serverConfig.disableAnonymousTelemetry = arg != NULL;
334
+ return NULL;
335
+ }
336
+
274
337
  static const char *
275
338
  cmd_passenger_disable_security_update_check(cmd_parms *cmd, void *pcfg, const char *arg) {
276
339
  const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
@@ -942,3 +1005,8 @@ cmd_union_station_support(cmd_parms *cmd, void *pcfg, const char *arg) {
942
1005
  return NULL;
943
1006
  }
944
1007
 
1008
+
1009
+ } // namespace Apache2Module
1010
+ } // namespace Passenger
1011
+
1012
+ #endif /* _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_ */
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -30,6 +30,27 @@ require 'phusion_passenger/apache2/config_options'
30
30
  def main
31
31
  comment copyright_header_for(__FILE__), 1
32
32
 
33
+ add_code %Q[
34
+ #ifndef _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_
35
+ #define _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_
36
+
37
+ #ifdef INTELLISENSE
38
+ // These includes do nothing, but keep IntelliSense happy.
39
+ #include <ap_config.h>
40
+ #include <http_config.h>
41
+ #include <http_log.h>
42
+ #include "../Config.h"
43
+
44
+ #ifdef APLOG_USE_MODULE
45
+ extern "C" module AP_MODULE_DECLARE_DATA passenger_module;
46
+ APLOG_USE_MODULE(passenger);
47
+ #endif
48
+ #endif
49
+
50
+ namespace Passenger {
51
+ namespace Apache2Module {
52
+ ]
53
+
33
54
  separator
34
55
 
35
56
  comment %q{
@@ -53,6 +74,15 @@ def main
53
74
  setter_function_body_for(option)
54
75
  end
55
76
  end
77
+
78
+ separator
79
+
80
+ add_code %Q[
81
+ } // namespace Apache2Module
82
+ } // namespace Passenger
83
+
84
+ #endif /* _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_SETTER_FUNCS_CPP_ */
85
+ ]
56
86
  end
57
87
 
58
88
  def filter_eligible_options(options)
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Phusion Passenger - https://www.phusionpassenger.com/
3
+ * Copyright (c) 2010-2018 Phusion Holding B.V.
4
+ *
5
+ * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
+ * trademarks of Phusion Holding B.V.
7
+ *
8
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ * of this software and associated documentation files (the "Software"), to deal
10
+ * in the Software without restriction, including without limitation the rights
11
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the Software is
13
+ * furnished to do so, subject to the following conditions:
14
+ *
15
+ * The above copyright notice and this permission notice shall be included in
16
+ * all copies or substantial portions of the Software.
17
+ *
18
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ * THE SOFTWARE.
25
+ */
26
+ #ifndef _PASSENGER_APACHE2_MODULE_CONFIG_COMMON_H_
27
+ #define _PASSENGER_APACHE2_MODULE_CONFIG_COMMON_H_
28
+
29
+ namespace Passenger {
30
+ namespace Apache2Module {
31
+
32
+
33
+ enum Threeway {
34
+ UNSET = -1,
35
+ DISABLED = 0,
36
+ ENABLED = 1
37
+ };
38
+
39
+ #define UNSET_INT_VALUE INT_MIN
40
+
41
+
42
+ } // namespace Apache2Module
43
+ } // namespace Passenger
44
+
45
+ #endif /* _PASSENGER_APACHE2_MODULE_CONFIG_COMMON_H_ */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2010-2018 Phusion Holding B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  * trademarks of Phusion Holding B.V.
@@ -24,6 +24,15 @@
24
24
  * THE SOFTWARE.
25
25
  */
26
26
 
27
+ #ifndef _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_
28
+ #define _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_
29
+
30
+ #ifdef INTELLISENSE
31
+ // These includes do nothing, but keep IntelliSense happy.
32
+ #include <ap_config.h>
33
+ #include "../Config.h"
34
+ #endif
35
+
27
36
  /*
28
37
  * DirConfig/AutoGeneratedCreateFunction.cpp is automatically generated from DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder,
29
38
  * using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.
@@ -55,6 +64,9 @@ createDirConfig_autoGenerated(DirConfig *config) {
55
64
  /*
56
65
  * config->mAppRoot: default initialized
57
66
  */
67
+ /*
68
+ * config->mAppStartCommand: default initialized
69
+ */
58
70
  /*
59
71
  * config->mAppType: default initialized
60
72
  */
@@ -115,6 +127,7 @@ createDirConfig_autoGenerated(DirConfig *config) {
115
127
  config->mAppGroupNameSourceLine = 0;
116
128
  config->mAppLogFileSourceLine = 0;
117
129
  config->mAppRootSourceLine = 0;
130
+ config->mAppStartCommandSourceLine = 0;
118
131
  config->mAppTypeSourceLine = 0;
119
132
  config->mBaseURIsSourceLine = 0;
120
133
  config->mBufferResponseSourceLine = 0;
@@ -149,6 +162,7 @@ createDirConfig_autoGenerated(DirConfig *config) {
149
162
  config->mAppGroupNameExplicitlySet = false;
150
163
  config->mAppLogFileExplicitlySet = false;
151
164
  config->mAppRootExplicitlySet = false;
165
+ config->mAppStartCommandExplicitlySet = false;
152
166
  config->mAppTypeExplicitlySet = false;
153
167
  config->mBaseURIsExplicitlySet = false;
154
168
  config->mBufferResponseExplicitlySet = false;
@@ -182,3 +196,5 @@ createDirConfig_autoGenerated(DirConfig *config) {
182
196
 
183
197
  } // namespace Apache2Module
184
198
  } // namespace Passenger
199
+
200
+ #endif /* _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_ */
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -32,6 +32,19 @@ def main
32
32
 
33
33
  separator
34
34
 
35
+ add_code %Q{
36
+ #ifndef _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_
37
+ #define _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_
38
+
39
+ #ifdef INTELLISENSE
40
+ // These includes do nothing, but keep IntelliSense happy.
41
+ #include <ap_config.h>
42
+ #include "../Config.h"
43
+ #endif
44
+ }
45
+
46
+ separator
47
+
35
48
  comment %q{
36
49
  DirConfig/AutoGeneratedCreateFunction.cpp is automatically generated from DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder,
37
50
  using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.
@@ -95,6 +108,8 @@ def main
95
108
  add_code %Q[
96
109
  } // namespace Apache2Module
97
110
  } // namespace Passenger
111
+
112
+ #endif /* _PASSENGER_APACHE2_MODULE_CONFIG_AUTOGENERATED_CREATE_FUNCTION_CPP_ */
98
113
  ]
99
114
  end
100
115
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2010-2018 Phusion Holding B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  * trademarks of Phusion Holding B.V.
@@ -23,6 +23,18 @@
23
23
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
24
  * THE SOFTWARE.
25
25
  */
26
+ #ifndef _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_
27
+ #define _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_
28
+
29
+ #ifdef INTELLISENSE
30
+ // These includes do nothing, but keep IntelliSense happy.
31
+ #include <ap_config.h>
32
+ #include <string>
33
+ #include "../Config.h"
34
+ #endif
35
+
36
+ namespace Passenger {
37
+ namespace Apache2Module {
26
38
 
27
39
  /*
28
40
  * DirConfig/AutoGeneratedHeaderSerialization.cpp is automatically generated from
@@ -39,10 +51,7 @@
39
51
  */
40
52
 
41
53
  static void
42
- constructRequestHeaders_autoGenerated(request_rec *r, Passenger::Apache2Module::DirConfig *config, std::string &result) {
43
- using namespace Passenger;
44
- using namespace Passenger::Apache2Module;
45
-
54
+ constructRequestHeaders_autoGenerated(request_rec *r, DirConfig *config, std::string &result) {
46
55
  addHeader(result, StaticString("!~PASSENGER_APP_ENV",
47
56
  sizeof("!~PASSENGER_APP_ENV") - 1),
48
57
  config->mAppEnv);
@@ -114,3 +123,8 @@ constructRequestHeaders_autoGenerated(request_rec *r, Passenger::Apache2Module::
114
123
  config->mUser);
115
124
  }
116
125
 
126
+
127
+ } // namespace Apache2Module
128
+ } // namespace Passenger
129
+
130
+ #endif /* _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_ */
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -30,6 +30,21 @@ require 'phusion_passenger/apache2/config_options'
30
30
  def main
31
31
  comment copyright_header_for(__FILE__), 1
32
32
 
33
+ add_code %Q[
34
+ #ifndef _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_
35
+ #define _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_
36
+
37
+ #ifdef INTELLISENSE
38
+ // These includes do nothing, but keep IntelliSense happy.
39
+ #include <ap_config.h>
40
+ #include <string>
41
+ #include "../Config.h"
42
+ #endif
43
+
44
+ namespace Passenger {
45
+ namespace Apache2Module {
46
+ ]
47
+
33
48
  separator
34
49
 
35
50
  comment %q{
@@ -48,14 +63,7 @@ def main
48
63
 
49
64
  separator
50
65
 
51
- function 'static void constructRequestHeaders_autoGenerated(request_rec *r, Passenger::Apache2Module::DirConfig *config, std::string &result)' do
52
- add_code %Q{
53
- using namespace Passenger;
54
- using namespace Passenger::Apache2Module;
55
- }
56
-
57
- separator
58
-
66
+ function 'static void constructRequestHeaders_autoGenerated(request_rec *r, DirConfig *config, std::string &result)' do
59
67
  filter_eligible_options(APACHE2_CONFIGURATION_OPTIONS).each do |option|
60
68
  if option[:type] == :string || option[:type] == :flag
61
69
  add_code %Q{
@@ -74,6 +82,15 @@ def main
74
82
  end
75
83
  end
76
84
  end
85
+
86
+ separator
87
+
88
+ add_code %Q[
89
+ } // namespace Apache2Module
90
+ } // namespace Passenger
91
+
92
+ #endif /* _PASSENGER_APACHE2_MODULE_AUTOGENERATED_HEADER_SERIALIZATION_CPP_ */
93
+ ]
77
94
  end
78
95
 
79
96
  def filter_eligible_options(options)
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2017 Phusion Holding B.V.
3
+ * Copyright (c) 2017-2018 Phusion Holding B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  * trademarks of Phusion Holding B.V.
@@ -24,6 +24,11 @@
24
24
  * THE SOFTWARE.
25
25
  */
26
26
 
27
+ #ifdef INTELLISENSE
28
+ // This include does nothing, but keeps IntelliSense happy.
29
+ #include <ap_config.h>
30
+ #endif
31
+
27
32
  /*
28
33
  * DirConfig/AutoGeneratedManifestGeneration.cpp is automatically generated from DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder,
29
34
  * using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.
@@ -111,6 +116,19 @@ ConfigManifestGenerator::autoGenerated_generateConfigManifestForDirConfig(server
111
116
  pdconf->mAppRoot.data(),
112
117
  pdconf->mAppRoot.data() + pdconf->mAppRoot.size());
113
118
  }
119
+ if (pdconf->mAppStartCommandExplicitlySet) {
120
+ findOrCreateAppAndLocOptionsContainers(serverRec, csconf, cdconf,
121
+ pdconf, context, &appOptionsContainer, &locOptionsContainer);
122
+ Json::Value &optionContainer = findOrCreateOptionContainer(*appOptionsContainer,
123
+ "PassengerAppStartCommand",
124
+ sizeof("PassengerAppStartCommand") - 1);
125
+ Json::Value &hierarchyMember = addOptionContainerHierarchyMember(optionContainer,
126
+ pdconf->mAppStartCommandSourceFile,
127
+ pdconf->mAppStartCommandSourceLine);
128
+ hierarchyMember["value"] = Json::Value(
129
+ pdconf->mAppStartCommand.data(),
130
+ pdconf->mAppStartCommand.data() + pdconf->mAppStartCommand.size());
131
+ }
114
132
  if (pdconf->mAppTypeExplicitlySet) {
115
133
  findOrCreateAppAndLocOptionsContainers(serverRec, csconf, cdconf,
116
134
  pdconf, context, &appOptionsContainer, &locOptionsContainer);
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2017 Phusion Holding B.V.
2
+ # Copyright (c) 2017-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -32,6 +32,15 @@ def main
32
32
 
33
33
  separator
34
34
 
35
+ add_code %Q{
36
+ #ifdef INTELLISENSE
37
+ // This include does nothing, but keeps IntelliSense happy.
38
+ #include <ap_config.h>
39
+ #endif
40
+ }
41
+
42
+ separator
43
+
35
44
  comment %q{
36
45
  DirConfig/AutoGeneratedManifestGeneration.cpp is automatically generated from DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder,
37
46
  using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2010-2018 Phusion Holding B.V.
4
4
  *
5
5
  * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  * trademarks of Phusion Holding B.V.
@@ -24,6 +24,12 @@
24
24
  * THE SOFTWARE.
25
25
  */
26
26
 
27
+ #ifdef INTELLISENSE
28
+ // These includes do nothing, but keep IntelliSense happy.
29
+ #include <ap_config.h>
30
+ #include "../Config.h"
31
+ #endif
32
+
27
33
  /*
28
34
  * DirConfig/AutoGeneratedMergeFunction.cpp is automatically generated from DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder,
29
35
  * using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.
@@ -62,6 +68,10 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
62
68
  (!add->mAppRoot.empty())
63
69
  ? add->mAppRoot
64
70
  : base->mAppRoot;
71
+ config->mAppStartCommand =
72
+ (!add->mAppStartCommand.empty())
73
+ ? add->mAppStartCommand
74
+ : base->mAppStartCommand;
65
75
  config->mAppType =
66
76
  (!add->mAppType.empty())
67
77
  ? add->mAppType
@@ -180,6 +190,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
180
190
  config->mAppGroupNameSourceFile = add->mAppGroupNameSourceFile;
181
191
  config->mAppLogFileSourceFile = add->mAppLogFileSourceFile;
182
192
  config->mAppRootSourceFile = add->mAppRootSourceFile;
193
+ config->mAppStartCommandSourceFile = add->mAppStartCommandSourceFile;
183
194
  config->mAppTypeSourceFile = add->mAppTypeSourceFile;
184
195
  config->mBaseURIsSourceFile = add->mBaseURIsSourceFile;
185
196
  config->mBufferResponseSourceFile = add->mBufferResponseSourceFile;
@@ -214,6 +225,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
214
225
  config->mAppGroupNameSourceLine = add->mAppGroupNameSourceLine;
215
226
  config->mAppLogFileSourceLine = add->mAppLogFileSourceLine;
216
227
  config->mAppRootSourceLine = add->mAppRootSourceLine;
228
+ config->mAppStartCommandSourceLine = add->mAppStartCommandSourceLine;
217
229
  config->mAppTypeSourceLine = add->mAppTypeSourceLine;
218
230
  config->mBaseURIsSourceLine = add->mBaseURIsSourceLine;
219
231
  config->mBufferResponseSourceLine = add->mBufferResponseSourceLine;
@@ -248,6 +260,7 @@ mergeDirConfig_autoGenerated(DirConfig *config, DirConfig *base, DirConfig *add)
248
260
  config->mAppGroupNameExplicitlySet = add->mAppGroupNameExplicitlySet;
249
261
  config->mAppLogFileExplicitlySet = add->mAppLogFileExplicitlySet;
250
262
  config->mAppRootExplicitlySet = add->mAppRootExplicitlySet;
263
+ config->mAppStartCommandExplicitlySet = add->mAppStartCommandExplicitlySet;
251
264
  config->mAppTypeExplicitlySet = add->mAppTypeExplicitlySet;
252
265
  config->mBaseURIsExplicitlySet = add->mBaseURIsExplicitlySet;
253
266
  config->mBufferResponseExplicitlySet = add->mBufferResponseExplicitlySet;
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -32,6 +32,16 @@ def main
32
32
 
33
33
  separator
34
34
 
35
+ add_code %Q{
36
+ #ifdef INTELLISENSE
37
+ // These includes do nothing, but keep IntelliSense happy.
38
+ #include <ap_config.h>
39
+ #include "../Config.h"
40
+ #endif
41
+ }
42
+
43
+ separator
44
+
35
45
  comment %q{
36
46
  DirConfig/AutoGeneratedMergeFunction.cpp is automatically generated from DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder,
37
47
  using definitions from src/ruby_supportlib/phusion_passenger/apache2/config_options.rb.