passenger 5.3.5 → 5.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +13 -0
  3. data/README.md +2 -1
  4. data/Rakefile +0 -5
  5. data/build/agent.rb +2 -1
  6. data/build/cxx_tests.rb +18 -20
  7. data/build/integration_tests.rb +6 -2
  8. data/build/support/cxx_dependency_map.rb +2019 -1966
  9. data/dev/colorize-logs +272 -0
  10. data/src/agent/Core/AdminPanelConnector.h +3 -3
  11. data/src/agent/Core/ApiServer.h +4 -4
  12. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  13. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
  14. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  15. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  16. data/src/agent/Core/ApplicationPool/Process.h +10 -15
  17. data/src/agent/Core/ApplicationPool/Socket.h +2 -2
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  19. data/src/agent/Core/Config.h +4 -2
  20. data/src/agent/Core/Controller.h +4 -4
  21. data/src/agent/Core/Controller/Config.h +1 -1
  22. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  23. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  24. data/src/agent/Core/CoreMain.cpp +2 -2
  25. data/src/agent/Core/OptionParser.h +2 -2
  26. data/src/agent/Core/ResponseCache.h +3 -3
  27. data/src/agent/Core/SecurityUpdateChecker.h +2 -2
  28. data/src/agent/Core/SpawningKit/Config.h +2 -1
  29. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  30. data/src/agent/Core/SpawningKit/Context.h +1 -1
  31. data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
  32. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  33. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  34. data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
  35. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  36. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  37. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  38. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  39. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  40. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  41. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  42. data/src/agent/Core/SpawningKit/Result.h +20 -8
  43. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  44. data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
  45. data/src/agent/Core/SpawningKit/Spawner.h +2 -2
  46. data/src/agent/Core/TelemetryCollector.h +13 -7
  47. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  48. data/src/agent/README.md +1 -1
  49. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  50. data/src/agent/Shared/ApiServerUtils.h +3 -3
  51. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  52. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
  53. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  54. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  55. data/src/agent/Watchdog/ApiServer.h +3 -3
  56. data/src/agent/Watchdog/Config.h +3 -2
  57. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  58. data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
  59. data/src/apache2_module/Config.cpp +14 -14
  60. data/src/apache2_module/Config.h +8 -16
  61. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
  62. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  63. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
  64. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  65. data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
  66. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
  67. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  68. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  69. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  70. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
  71. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  72. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
  73. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  74. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
  75. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  76. data/src/apache2_module/Hooks.cpp +3 -3
  77. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
  78. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  79. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  80. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  81. data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
  82. data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
  83. data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
  84. data/src/cxx_supportlib/Constants.h +1 -1
  85. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  86. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  87. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  88. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  89. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  90. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  91. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  92. data/src/cxx_supportlib/Hooks.h +2 -2
  93. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  94. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
  95. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  96. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  97. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  98. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  99. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  100. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  101. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  102. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  103. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  104. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
  105. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  106. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  107. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  108. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  109. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  110. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  111. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  112. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  113. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  114. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  115. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  116. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  117. data/src/cxx_supportlib/ServerKit/Server.h +3 -3
  118. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  119. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  120. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  121. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
  122. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  123. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  124. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
  125. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
  126. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  127. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  128. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  129. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  130. data/src/cxx_supportlib/Utils.cpp +2 -2
  131. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  132. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  133. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  134. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  135. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  136. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  137. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  138. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  139. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  140. data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
  141. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  142. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  143. data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
  144. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  145. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  146. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  147. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  148. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  149. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  150. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  151. metadata +28 -86
  152. data/.editorconfig +0 -134
  153. data/CODE_OF_CONDUCT.md +0 -52
  154. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  155. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  156. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  157. data/dev/ci/README.md +0 -134
  158. data/dev/ci/lib/functions.sh +0 -129
  159. data/dev/ci/lib/set-container-envvars.sh +0 -53
  160. data/dev/ci/lib/setup-container.sh +0 -46
  161. data/dev/ci/run-tests-natively +0 -24
  162. data/dev/ci/run-tests-with-docker +0 -42
  163. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  164. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  165. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  166. data/dev/ci/scripts/inituidgid +0 -17
  167. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  168. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  169. data/dev/ci/setup-host +0 -56
  170. data/dev/ci/tests/apache2/run +0 -6
  171. data/dev/ci/tests/apache2/setup +0 -4
  172. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  173. data/dev/ci/tests/binaries/build-linux +0 -38
  174. data/dev/ci/tests/binaries/build-macos +0 -40
  175. data/dev/ci/tests/binaries/prepare-macos +0 -38
  176. data/dev/ci/tests/binaries/test-linux +0 -45
  177. data/dev/ci/tests/binaries/test-macos +0 -38
  178. data/dev/ci/tests/cxx/run +0 -9
  179. data/dev/ci/tests/cxx/setup +0 -4
  180. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  181. data/dev/ci/tests/debian/run +0 -60
  182. data/dev/ci/tests/nginx-dynamic/run +0 -20
  183. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  184. data/dev/ci/tests/nginx/run +0 -5
  185. data/dev/ci/tests/nginx/setup +0 -4
  186. data/dev/ci/tests/nodejs/run +0 -4
  187. data/dev/ci/tests/nodejs/setup +0 -4
  188. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  189. data/dev/ci/tests/rpm/run +0 -63
  190. data/dev/ci/tests/ruby/run +0 -4
  191. data/dev/ci/tests/ruby/setup +0 -4
  192. data/dev/ci/tests/source-packaging/run +0 -4
  193. data/dev/ci/tests/source-packaging/setup +0 -4
  194. data/dev/ci/tests/standalone/run +0 -4
  195. data/dev/ci/tests/standalone/setup +0 -4
  196. data/dev/configkit-schemas/index.json +0 -1850
  197. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  198. data/dev/rack.test/config.ru +0 -5
  199. data/dev/rack.test/public/asset.txt +0 -1
  200. data/dev/vagrant/apache_default_site.conf +0 -35
  201. data/dev/vagrant/apache_passenger.conf +0 -5
  202. data/dev/vagrant/apache_passenger.load +0 -1
  203. data/dev/vagrant/apache_ports.conf +0 -24
  204. data/dev/vagrant/apache_rack_test.conf +0 -9
  205. data/dev/vagrant/bashrc +0 -23
  206. data/dev/vagrant/nginx.conf +0 -39
  207. data/dev/vagrant/nginx_rakefile +0 -33
  208. data/dev/vagrant/nginx_start +0 -32
  209. data/dev/vagrant/provision.sh +0 -117
  210. data/dev/vagrant/sudoers.conf +0 -5
  211. data/resources/templates/error_renderer/.editorconfig +0 -19
@@ -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.
@@ -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,14 @@
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_DIR_CONFIG_AUTOGENERATED_STRUCT_H_
27
+ #define _PASSENGER_APACHE2_MODULE_DIR_CONFIG_AUTOGENERATED_STRUCT_H_
28
+
29
+ #ifdef INTELLISENSE
30
+ // These includes do nothing, but keep IntelliSense happy.
31
+ #include <ap_config.h>
32
+ #include "../ConfigGeneral/Common.h"
33
+ #endif
26
34
 
27
35
  /*
28
36
  * DirConfig/AutoGeneratedStruct.h is automatically generated from DirConfig/AutoGeneratedStruct.h.cxxcodebuilder,
@@ -37,6 +45,15 @@
37
45
  * rake src/apache2_module/DirConfig/AutoGeneratedStruct.h
38
46
  */
39
47
 
48
+ namespace Passenger {
49
+ namespace Apache2Module {
50
+
51
+ /*
52
+ * Per-directory configuration information (autogenerated part).
53
+ *
54
+ * Use the getter methods to query information, because those will return
55
+ * the default value if the value is not specified.
56
+ */
40
57
  struct AutoGeneratedDirConfig {
41
58
 
42
59
  /*
@@ -558,3 +575,8 @@ struct AutoGeneratedDirConfig {
558
575
  }
559
576
 
560
577
  };
578
+
579
+ } // namespace Apache2Module
580
+ } // namespace Passenger
581
+
582
+ #endif /* _PASSENGER_APACHE2_MODULE_DIR_CONFIG_AUTOGENERATED_STRUCT_H_ */
@@ -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,17 @@ 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_DIR_CONFIG_AUTOGENERATED_STRUCT_H_
35
+ #define _PASSENGER_APACHE2_MODULE_DIR_CONFIG_AUTOGENERATED_STRUCT_H_
36
+
37
+ #ifdef INTELLISENSE
38
+ // These includes do nothing, but keep IntelliSense happy.
39
+ #include <ap_config.h>
40
+ #include "../ConfigGeneral/Common.h"
41
+ #endif
42
+ }
43
+
33
44
  separator
34
45
 
35
46
  comment %q{
@@ -47,6 +58,19 @@ def main
47
58
 
48
59
  separator
49
60
 
61
+ add_code %Q[
62
+ namespace Passenger {
63
+ namespace Apache2Module {
64
+ ]
65
+
66
+ separator
67
+
68
+ comment %Q{
69
+ Per-directory configuration information (autogenerated part).
70
+
71
+ Use the getter methods to query information, because those will return
72
+ the default value if the value is not specified.
73
+ }
50
74
  struct 'AutoGeneratedDirConfig' do
51
75
  definitions.each do |definition|
52
76
  separator
@@ -80,6 +104,15 @@ def main
80
104
  add_getter_function(definition)
81
105
  end
82
106
  end
107
+
108
+ separator
109
+
110
+ add_code %Q[
111
+ } // namespace Apache2Module
112
+ } // namespace Passenger
113
+
114
+ #endif /* _PASSENGER_APACHE2_MODULE_DIR_CONFIG_AUTOGENERATED_STRUCT_H_ */
115
+ ]
83
116
  end
84
117
 
85
118
  def filter_eligible_options(options)
@@ -64,9 +64,9 @@
64
64
  #include <FileTools/FileManip.h>
65
65
  #include <FileTools/FileManip.h>
66
66
  #include <Utils.h>
67
- #include <Utils/IOUtils.h>
68
- #include <Utils/StrIntUtils.h>
69
- #include <Utils/SystemTime.h>
67
+ #include <IOTools/IOUtils.h>
68
+ #include <StrIntTools/StrIntUtils.h>
69
+ #include <SystemTools/SystemTime.h>
70
70
  #include <Utils/HttpConstants.h>
71
71
  #include <Utils/ReleaseableScopedPointer.h>
72
72
  #include <LoggingKit/LoggingKit.h>
@@ -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.
@@ -23,6 +23,15 @@
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_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_
27
+ #define _PASSENGER_APACHE2_MODULE_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_
28
+
29
+ #ifdef INTELLISENSE
30
+ // These includes do nothing, but keep IntelliSense happy.
31
+ #include <StaticString.h>
32
+ #include <ap_config.h>
33
+ #include "../ConfigGeneral/Common.h"
34
+ #endif
26
35
 
27
36
  /*
28
37
  * ServerConfig/AutoGeneratedStruct.h is automatically generated from ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder,
@@ -37,6 +46,15 @@
37
46
  * rake src/apache2_module/ServerConfig/AutoGeneratedStruct.h
38
47
  */
39
48
 
49
+ namespace Passenger {
50
+ namespace Apache2Module {
51
+
52
+ /*
53
+ * Server-wide (global, not per-virtual host) configuration information (autogenerated part).
54
+ *
55
+ * Use the getter methods to query information, because those will return
56
+ * the default value if the value is not specified.
57
+ */
40
58
  struct AutoGeneratedServerConfig {
41
59
 
42
60
  /*
@@ -386,3 +404,8 @@ struct AutoGeneratedServerConfig {
386
404
  }
387
405
 
388
406
  };
407
+
408
+ } // namespace Apache2Module
409
+ } // namespace Passenger
410
+
411
+ #endif /* _PASSENGER_APACHE2_MODULE_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_ */
@@ -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.
@@ -30,6 +30,18 @@ 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_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_
35
+ #define _PASSENGER_APACHE2_MODULE_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_
36
+
37
+ #ifdef INTELLISENSE
38
+ // These includes do nothing, but keep IntelliSense happy.
39
+ #include <StaticString.h>
40
+ #include <ap_config.h>
41
+ #include "../ConfigGeneral/Common.h"
42
+ #endif
43
+ }
44
+
33
45
  separator
34
46
 
35
47
  comment %q{
@@ -47,6 +59,20 @@ def main
47
59
 
48
60
  separator
49
61
 
62
+ add_code %Q[
63
+ namespace Passenger {
64
+ namespace Apache2Module {
65
+ ]
66
+
67
+ separator
68
+
69
+ comment %Q{
70
+ Server-wide (global, not per-virtual host) configuration information (autogenerated part).
71
+
72
+ Use the getter methods to query information, because those will return
73
+ the default value if the value is not specified.
74
+ }
75
+
50
76
  struct 'AutoGeneratedServerConfig' do
51
77
  definitions.each do |definition|
52
78
  separator
@@ -93,6 +119,15 @@ def main
93
119
  end
94
120
  end
95
121
  end
122
+
123
+ separator
124
+
125
+ add_code %Q[
126
+ } // namespace Apache2Module
127
+ } // namespace Passenger
128
+
129
+ #endif /* _PASSENGER_APACHE2_MODULE_SERVER_CONFIG_AUTOGENERATED_STRUCT_H_ */
130
+ ]
96
131
  end
97
132
 
98
133
  def filter_eligible_options(options)
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-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.
@@ -26,7 +26,7 @@
26
26
 
27
27
  // Implementation is in its own file so that we can enable compiler optimizations for these functions only.
28
28
 
29
- #include <Utils/Hasher.h>
29
+ #include <Algorithms/Hasher.h>
30
30
 
31
31
  namespace Passenger {
32
32
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-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,8 +23,8 @@
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_HASHER_H_
27
- #define _PASSENGER_HASHER_H_
26
+ #ifndef _PASSENGER_ALGORITHMS_HASHER_H_
27
+ #define _PASSENGER_ALGORITHMS_HASHER_H_
28
28
 
29
29
  #include <boost/cstdint.hpp>
30
30
 
@@ -56,4 +56,4 @@ typedef JenkinsHash Hasher;
56
56
 
57
57
  } // namespace Passenger
58
58
 
59
- #endif /* _PASSENGER_HASHER_H_ */
59
+ #endif /* _PASSENGER_ALGORITHMS_HASHER_H_ */
@@ -43,7 +43,7 @@
43
43
  #include <FileTools/FileManip.h>
44
44
  #include <Utils.h>
45
45
  #include <Utils/CachedFileStat.hpp>
46
- #include <Utils/StrIntUtils.h>
46
+ #include <StrIntTools/StrIntUtils.h>
47
47
 
48
48
  namespace Passenger {
49
49
  namespace AppTypeDetector {
@@ -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.
@@ -40,7 +40,7 @@
40
40
  #include <ConfigKit/DummyTranslator.h>
41
41
  #include <ConfigKit/Utils.h>
42
42
  #include <DataStructures/StringKeyTable.h>
43
- #include <Utils/StrIntUtils.h>
43
+ #include <StrIntTools/StrIntUtils.h>
44
44
 
45
45
  namespace Passenger {
46
46
  namespace ConfigKit {
@@ -46,7 +46,7 @@
46
46
  #include <LoggingKit/Assert.h>
47
47
  #include <Exceptions.h>
48
48
  #include <DataStructures/StringKeyTable.h>
49
- #include <Utils/StrIntUtils.h>
49
+ #include <StrIntTools/StrIntUtils.h>
50
50
 
51
51
  namespace Passenger {
52
52
  namespace ConfigKit {
@@ -81,7 +81,7 @@
81
81
  #define PASSENGER_API_VERSION_MAJOR 0
82
82
  #define PASSENGER_API_VERSION_MINOR 3
83
83
  #define PASSENGER_DEFAULT_USER "nobody"
84
- #define PASSENGER_VERSION "5.3.5"
84
+ #define PASSENGER_VERSION "5.3.6"
85
85
  #define POOL_HELPER_THREAD_STACK_SIZE 262144
86
86
  #define PROCESS_SHUTDOWN_TIMEOUT 60
87
87
  #define PROCESS_SHUTDOWN_TIMEOUT_DISPLAY "1 minute"
@@ -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,8 +24,8 @@
24
24
  * THE SOFTWARE.
25
25
  */
26
26
 
27
- #ifndef _PASSENGER_HASH_MAP_H_
28
- #define _PASSENGER_HASH_MAP_H_
27
+ #ifndef _PASSENGER_DATA_STRUCTURES_HASH_MAP_H_
28
+ #define _PASSENGER_DATA_STRUCTURES_HASH_MAP_H_
29
29
 
30
30
  /*
31
31
  * There are too many ways to include hash_map/unordered_map!
@@ -57,4 +57,4 @@
57
57
  #define HashMap boost::unordered_map
58
58
  #endif
59
59
 
60
- #endif /* _PASSENGER_HASH_MAP_H_ */
60
+ #endif /* _PASSENGER_DATA_STRUCTURES_HASH_MAP_H_ */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-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,14 +23,14 @@
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_HASHED_STATIC_STRING_H_
27
- #define _PASSENGER_HASHED_STATIC_STRING_H_
26
+ #ifndef _PASSENGER_DATA_STRUCTURES_HASHED_STATIC_STRING_H_
27
+ #define _PASSENGER_DATA_STRUCTURES_HASHED_STATIC_STRING_H_
28
28
 
29
29
  #include <boost/cstdint.hpp>
30
30
  #include <oxt/macros.hpp>
31
31
  #include <string>
32
32
  #include <StaticString.h>
33
- #include <Utils/Hasher.h>
33
+ #include <Algorithms/Hasher.h>
34
34
 
35
35
  namespace Passenger {
36
36
 
@@ -101,4 +101,4 @@ public:
101
101
 
102
102
  } // namespace Passenger
103
103
 
104
- #endif /* _PASSENGER_HASHED_STATIC_STRING_H_ */
104
+ #endif /* _PASSENGER_DATA_STRUCTURES_HASHED_STATIC_STRING_H_ */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2014-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.
@@ -36,8 +36,8 @@
36
36
  #include <MemoryKit/palloc.h>
37
37
  #include <MemoryKit/mbuf.h>
38
38
  #include <StaticString.h>
39
- #include <Utils/StrIntUtils.h>
40
- #include <Utils/Hasher.h>
39
+ #include <StrIntTools/StrIntUtils.h>
40
+ #include <Algorithms/Hasher.h>
41
41
 
42
42
  namespace Passenger {
43
43
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011-2017 Phusion Holding B.V.
3
+ * Copyright (c) 2011-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,15 +23,15 @@
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_STRING_MAP_H_
27
- #define _PASSENGER_STRING_MAP_H_
26
+ #ifndef _PASSENGER_DATA_STRUCTURES_STRING_MAP_H_
27
+ #define _PASSENGER_DATA_STRUCTURES_STRING_MAP_H_
28
28
 
29
29
  #include <string>
30
30
  #include <map>
31
31
  #include <utility>
32
32
 
33
33
  #include <StaticString.h>
34
- #include <Utils/HashMap.h>
34
+ #include <DataStructures/HashMap.h>
35
35
 
36
36
  namespace Passenger {
37
37
 
@@ -54,106 +54,106 @@ private:
54
54
  string key;
55
55
  pair<StaticString, T> thePair;
56
56
  };
57
-
57
+
58
58
  typedef HashMap<StaticString, Entry, StaticString::Hash> InternalMap;
59
59
  typedef typename InternalMap::iterator InternalIterator;
60
60
  typedef typename InternalMap::const_iterator InternalConstIterator;
61
61
  typedef typename InternalMap::value_type ValueType;
62
62
  InternalMap store;
63
-
63
+
64
64
  public:
65
65
  class const_iterator {
66
66
  private:
67
67
  InternalConstIterator it;
68
-
68
+
69
69
  public:
70
70
  const_iterator() { }
71
-
71
+
72
72
  const_iterator(const InternalConstIterator &_it)
73
73
  : it(_it)
74
74
  { }
75
-
75
+
76
76
  const_iterator &operator=(const const_iterator &value) {
77
77
  it = value.it;
78
78
  return *this;
79
79
  }
80
-
80
+
81
81
  const_iterator &operator++() {
82
82
  it++;
83
83
  return *this;
84
84
  }
85
-
85
+
86
86
  const_iterator operator++(int) {
87
87
  const_iterator copy(*this);
88
88
  operator++();
89
89
  return copy;
90
90
  }
91
-
91
+
92
92
  bool operator==(const const_iterator &other) {
93
93
  return it == other.it;
94
94
  }
95
-
95
+
96
96
  bool operator!=(const const_iterator &other) {
97
97
  return it != other.it;
98
98
  }
99
-
99
+
100
100
  const pair<const StaticString, const T> &operator*() {
101
101
  return (pair<const StaticString, const T> &) it->second.thePair;
102
102
  }
103
-
103
+
104
104
  const pair<const StaticString, const T> *operator->() {
105
105
  return &(**this);
106
106
  }
107
107
  };
108
-
108
+
109
109
  class iterator {
110
110
  private:
111
111
  InternalIterator it;
112
-
112
+
113
113
  public:
114
114
  iterator() { }
115
-
115
+
116
116
  iterator(const InternalIterator &_it)
117
117
  : it(_it)
118
118
  { }
119
-
119
+
120
120
  iterator &operator=(const iterator &value) {
121
121
  it = value.it;
122
122
  return *this;
123
123
  }
124
-
124
+
125
125
  iterator &operator++() {
126
126
  it++;
127
127
  return *this;
128
128
  }
129
-
129
+
130
130
  iterator operator++(int) {
131
131
  iterator copy(*this);
132
132
  operator++();
133
133
  return copy;
134
134
  }
135
-
135
+
136
136
  bool operator==(const iterator &other) {
137
137
  return it == other.it;
138
138
  }
139
-
139
+
140
140
  bool operator!=(const iterator &other) {
141
141
  return it != other.it;
142
142
  }
143
-
143
+
144
144
  pair<StaticString, T> &operator*() {
145
145
  return it->second.thePair;
146
146
  }
147
-
147
+
148
148
  pair<StaticString, T> *operator->() {
149
149
  return &(**this);
150
150
  }
151
-
151
+
152
152
  operator const_iterator() const {
153
153
  return const_iterator(it);
154
154
  }
155
155
  };
156
-
156
+
157
157
  T get(const StaticString &key) const {
158
158
  InternalConstIterator it = store.find(key);
159
159
  if (it == store.end()) {
@@ -175,7 +175,7 @@ public:
175
175
  bool has(const StaticString &key) const {
176
176
  return store.find(key) != store.end();
177
177
  }
178
-
178
+
179
179
  bool set(const StaticString &key, const T &value) {
180
180
  pair<InternalIterator, bool> result = store.insert(make_pair(key, Entry()));
181
181
  if (result.second) {
@@ -196,31 +196,31 @@ public:
196
196
  return false;
197
197
  }
198
198
  }
199
-
199
+
200
200
  bool remove(const StaticString &key) {
201
201
  return store.erase(key) > 0;
202
202
  }
203
-
203
+
204
204
  unsigned int size() const {
205
205
  return store.size();
206
206
  }
207
-
207
+
208
208
  bool empty() const {
209
209
  return store.empty();
210
210
  }
211
-
211
+
212
212
  iterator begin() {
213
213
  return iterator(store.begin());
214
214
  }
215
-
215
+
216
216
  const_iterator begin() const {
217
217
  return const_iterator(store.begin());
218
218
  }
219
-
219
+
220
220
  iterator end() {
221
221
  return iterator(store.end());
222
222
  }
223
-
223
+
224
224
  const_iterator end() const {
225
225
  return const_iterator(store.end());
226
226
  }
@@ -229,4 +229,4 @@ public:
229
229
 
230
230
  } // namespace Passenger
231
231
 
232
- #endif /* _PASSENGER_STRING_MAP_H_ */
232
+ #endif /* _PASSENGER_DATA_STRUCTURES_STRING_MAP_H_ */