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.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -0
- data/README.md +2 -1
- data/Rakefile +0 -5
- data/build/agent.rb +2 -1
- data/build/cxx_tests.rb +18 -20
- data/build/integration_tests.rb +6 -2
- data/build/support/cxx_dependency_map.rb +2019 -1966
- data/dev/colorize-logs +272 -0
- data/src/agent/Core/AdminPanelConnector.h +3 -3
- data/src/agent/Core/ApiServer.h +4 -4
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
- data/src/agent/Core/ApplicationPool/Pool.h +4 -4
- data/src/agent/Core/ApplicationPool/Process.h +10 -15
- data/src/agent/Core/ApplicationPool/Socket.h +2 -2
- data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
- data/src/agent/Core/Config.h +4 -2
- data/src/agent/Core/Controller.h +4 -4
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/Controller/TurboCaching.h +2 -2
- data/src/agent/Core/CoreMain.cpp +2 -2
- data/src/agent/Core/OptionParser.h +2 -2
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SecurityUpdateChecker.h +2 -2
- data/src/agent/Core/SpawningKit/Config.h +2 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
- data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +4 -5
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/Result.h +20 -8
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
- data/src/agent/Core/SpawningKit/Spawner.h +2 -2
- data/src/agent/Core/TelemetryCollector.h +13 -7
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/README.md +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +3 -3
- data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
- data/src/agent/Watchdog/ApiServer.h +3 -3
- data/src/agent/Watchdog/Config.h +3 -2
- data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
- data/src/apache2_module/Config.cpp +14 -14
- data/src/apache2_module/Config.h +8 -16
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
- data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
- data/src/apache2_module/Hooks.cpp +3 -3
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
- data/src/cxx_supportlib/DataStructures/LString.h +3 -3
- data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
- data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/Hooks.h +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
- data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
- data/src/cxx_supportlib/InstanceDirectory.h +4 -4
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
- data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
- data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
- data/src/cxx_supportlib/RandomGenerator.h +2 -2
- data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
- data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
- data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
- data/src/cxx_supportlib/ServerKit/Server.h +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
- data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
- data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
- data/src/cxx_supportlib/Utils/Curl.h +2 -2
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
- data/src/cxx_supportlib/Utils/Timer.h +2 -2
- data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
- data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
- metadata +28 -86
- data/.editorconfig +0 -134
- data/CODE_OF_CONDUCT.md +0 -52
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
- data/dev/ci/README.md +0 -134
- data/dev/ci/lib/functions.sh +0 -129
- data/dev/ci/lib/set-container-envvars.sh +0 -53
- data/dev/ci/lib/setup-container.sh +0 -46
- data/dev/ci/run-tests-natively +0 -24
- data/dev/ci/run-tests-with-docker +0 -42
- data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
- data/dev/ci/scripts/docker-entrypoint.sh +0 -17
- data/dev/ci/scripts/inituidgid +0 -17
- data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
- data/dev/ci/scripts/setup-host-natively.sh +0 -11
- data/dev/ci/setup-host +0 -56
- data/dev/ci/tests/apache2/run +0 -6
- data/dev/ci/tests/apache2/setup +0 -4
- data/dev/ci/tests/binaries/Jenkinsfile +0 -105
- data/dev/ci/tests/binaries/build-linux +0 -38
- data/dev/ci/tests/binaries/build-macos +0 -40
- data/dev/ci/tests/binaries/prepare-macos +0 -38
- data/dev/ci/tests/binaries/test-linux +0 -45
- data/dev/ci/tests/binaries/test-macos +0 -38
- data/dev/ci/tests/cxx/run +0 -9
- data/dev/ci/tests/cxx/setup +0 -4
- data/dev/ci/tests/debian/Jenkinsfile +0 -89
- data/dev/ci/tests/debian/run +0 -60
- data/dev/ci/tests/nginx-dynamic/run +0 -20
- data/dev/ci/tests/nginx-dynamic/setup +0 -4
- data/dev/ci/tests/nginx/run +0 -5
- data/dev/ci/tests/nginx/setup +0 -4
- data/dev/ci/tests/nodejs/run +0 -4
- data/dev/ci/tests/nodejs/setup +0 -4
- data/dev/ci/tests/rpm/Jenkinsfile +0 -68
- data/dev/ci/tests/rpm/run +0 -63
- data/dev/ci/tests/ruby/run +0 -4
- data/dev/ci/tests/ruby/setup +0 -4
- data/dev/ci/tests/source-packaging/run +0 -4
- data/dev/ci/tests/source-packaging/setup +0 -4
- data/dev/ci/tests/standalone/run +0 -4
- data/dev/ci/tests/standalone/setup +0 -4
- data/dev/configkit-schemas/index.json +0 -1850
- data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
- data/dev/rack.test/config.ru +0 -5
- data/dev/rack.test/public/asset.txt +0 -1
- data/dev/vagrant/apache_default_site.conf +0 -35
- data/dev/vagrant/apache_passenger.conf +0 -5
- data/dev/vagrant/apache_passenger.load +0 -1
- data/dev/vagrant/apache_ports.conf +0 -24
- data/dev/vagrant/apache_rack_test.conf +0 -9
- data/dev/vagrant/bashrc +0 -23
- data/dev/vagrant/nginx.conf +0 -39
- data/dev/vagrant/nginx_rakefile +0 -33
- data/dev/vagrant/nginx_start +0 -32
- data/dev/vagrant/provision.sh +0 -117
- data/dev/vagrant/sudoers.conf +0 -5
- data/resources/templates/error_renderer/.editorconfig +0 -19
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2010-
|
|
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-
|
|
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-
|
|
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 <
|
|
68
|
-
#include <
|
|
69
|
-
#include <
|
|
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-
|
|
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 <
|
|
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-
|
|
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
|
|
27
|
-
#define
|
|
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 /*
|
|
59
|
+
#endif /* _PASSENGER_ALGORITHMS_HASHER_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.
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
#include <ConfigKit/DummyTranslator.h>
|
|
41
41
|
#include <ConfigKit/Utils.h>
|
|
42
42
|
#include <DataStructures/StringKeyTable.h>
|
|
43
|
-
#include <
|
|
43
|
+
#include <StrIntTools/StrIntUtils.h>
|
|
44
44
|
|
|
45
45
|
namespace Passenger {
|
|
46
46
|
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.
|
|
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-
|
|
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
|
|
28
|
-
#define
|
|
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 /*
|
|
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-
|
|
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
|
|
27
|
-
#define
|
|
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 <
|
|
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 /*
|
|
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-
|
|
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 <
|
|
40
|
-
#include <
|
|
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-
|
|
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
|
|
27
|
-
#define
|
|
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 <
|
|
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 /*
|
|
232
|
+
#endif /* _PASSENGER_DATA_STRUCTURES_STRING_MAP_H_ */
|