passenger 5.3.5 → 5.3.6

Sign up to get free protection for your applications and to get access to all the features.
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_ */