passenger 5.3.4 → 5.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/build/cxx_tests.rb +12 -1
- data/build/misc.rb +2 -1
- data/build/packaging.rb +2 -0
- data/build/support/cplusplus.rb +2 -2
- data/build/support/cxx_dependency_map.rb +653 -383
- data/dev/configkit-schemas/index.json +105 -3
- data/dev/show-latest-crashlog-dir +27 -0
- data/resources/templates/standalone/http.erb +2 -0
- data/src/agent/Core/AdminPanelConnector.h +2 -2
- data/src/agent/Core/ApplicationPool/Context.h +5 -1
- data/src/agent/Core/ApplicationPool/Group.h +2 -0
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +2 -1
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +12 -19
- data/src/agent/Core/ApplicationPool/Options.h +35 -31
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +2 -1
- data/src/agent/Core/ApplicationPool/Socket.h +1 -1
- data/src/agent/Core/Config.h +38 -7
- data/src/agent/Core/ConfigChange.cpp +13 -1
- data/src/agent/Core/Controller.h +3 -1
- data/src/agent/Core/Controller/Config.h +14 -11
- data/src/agent/Core/Controller/InitRequest.cpp +6 -5
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +3 -0
- data/src/agent/Core/CoreMain.cpp +149 -34
- data/src/agent/Core/OptionParser.h +12 -1
- data/src/agent/Core/SpawningKit/Config.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +7 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +15 -12
- data/src/agent/Core/SpawningKit/README.md +34 -17
- data/src/agent/Core/SpawningKit/Spawner.h +5 -3
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +5 -2
- data/src/agent/Core/TelemetryCollector.h +674 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +309 -83
- data/src/agent/Shared/Fundamentals/AbortHandler.h +18 -3
- data/src/agent/Watchdog/Config.h +21 -4
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
- data/src/apache2_module/DirectoryMapper.h +24 -36
- data/src/apache2_module/Hooks.cpp +13 -5
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
- data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +136 -0
- data/src/cxx_supportlib/AppTypeDetector/CBindings.h +73 -0
- data/src/cxx_supportlib/{AppTypes.h → AppTypeDetector/Detector.h} +59 -132
- data/src/cxx_supportlib/ConfigKit/README.md +90 -2
- data/src/cxx_supportlib/ConfigKit/Schema.h +58 -13
- data/src/cxx_supportlib/ConfigKit/Store.h +128 -4
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +3 -3
- data/src/cxx_supportlib/ProcessManagement/Ruby.h +7 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +14 -7
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +21 -2
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/ServerKit/ClientRef.h +17 -7
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +17 -7
- data/src/cxx_supportlib/Utils/IOUtils.cpp +2 -1
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +9 -6
- data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +85 -0
- data/src/cxx_supportlib/WrapperRegistry/CBindings.h +56 -0
- data/src/cxx_supportlib/WrapperRegistry/Entry.h +112 -0
- data/src/cxx_supportlib/WrapperRegistry/README.md +37 -0
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +309 -0
- data/src/helper-scripts/download_binaries/extconf.rb +6 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +16 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +24 -0
- data/src/nginx_module/ContentHandler.c +34 -13
- data/src/nginx_module/ContentHandler.h +3 -3
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/config +2 -1
- data/src/nginx_module/ngx_http_passenger_module.c +9 -3
- data/src/nginx_module/ngx_http_passenger_module.h +4 -2
- data/src/ruby_supportlib/phusion_passenger.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +13 -0
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +8 -5
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +7 -3
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +15 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -1
- metadata +12 -4
- data/src/cxx_supportlib/AppTypes.cpp +0 -109
@@ -1,109 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2013-2017 Phusion Holding B.V.
|
4
|
-
*
|
5
|
-
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
-
* trademarks of Phusion Holding B.V.
|
7
|
-
*
|
8
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
9
|
-
* of this software and associated documentation files (the "Software"), to deal
|
10
|
-
* in the Software without restriction, including without limitation the rights
|
11
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
-
* copies of the Software, and to permit persons to whom the Software is
|
13
|
-
* furnished to do so, subject to the following conditions:
|
14
|
-
*
|
15
|
-
* The above copyright notice and this permission notice shall be included in
|
16
|
-
* all copies or substantial portions of the Software.
|
17
|
-
*
|
18
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
19
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
20
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
21
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
22
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
23
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
24
|
-
* THE SOFTWARE.
|
25
|
-
*/
|
26
|
-
|
27
|
-
#include <AppTypes.h>
|
28
|
-
#include <exception>
|
29
|
-
#include <string.h>
|
30
|
-
|
31
|
-
namespace Passenger {
|
32
|
-
|
33
|
-
/* If you update this structure, also update the following:
|
34
|
-
* - ApplicationPool2::Options::getStartCommand()
|
35
|
-
* - src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb
|
36
|
-
* - The documentation for `PassengerAppEnv` (Apache) and `passenger_app_env` (Nginx)
|
37
|
-
* - The Developer Guide, section "Executing the loader or preloader"
|
38
|
-
*/
|
39
|
-
const AppTypeDefinition appTypeDefinitions[] = {
|
40
|
-
{ PAT_RACK, "rack", "config.ru", "Passenger RubyApp" },
|
41
|
-
{ PAT_WSGI, "wsgi", "passenger_wsgi.py", "Passenger WsgiApp" },
|
42
|
-
{ PAT_NODE, "node", "app.js", "Passenger NodeApp" },
|
43
|
-
{ PAT_METEOR, "meteor", ".meteor", "Passenger MeteorApp" },
|
44
|
-
{ PAT_NONE, NULL, NULL, NULL }
|
45
|
-
};
|
46
|
-
|
47
|
-
} // namespace Passenger
|
48
|
-
|
49
|
-
|
50
|
-
using namespace Passenger;
|
51
|
-
|
52
|
-
PP_AppTypeDetector *
|
53
|
-
pp_app_type_detector_new(unsigned int throttleRate) {
|
54
|
-
try {
|
55
|
-
return new AppTypeDetector(NULL, NULL, throttleRate);
|
56
|
-
} catch (const std::bad_alloc &) {
|
57
|
-
return 0;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
|
61
|
-
void
|
62
|
-
pp_app_type_detector_free(PP_AppTypeDetector *detector) {
|
63
|
-
delete (AppTypeDetector *) detector;
|
64
|
-
}
|
65
|
-
|
66
|
-
void
|
67
|
-
pp_app_type_detector_set_throttle_rate(PP_AppTypeDetector *_detector,
|
68
|
-
unsigned int throttleRate)
|
69
|
-
{
|
70
|
-
AppTypeDetector *detector = (AppTypeDetector *) _detector;
|
71
|
-
detector->setThrottleRate(throttleRate);
|
72
|
-
}
|
73
|
-
|
74
|
-
PassengerAppType
|
75
|
-
pp_app_type_detector_check_document_root(PP_AppTypeDetector *_detector,
|
76
|
-
const char *documentRoot, unsigned int len, int resolveFirstSymlink,
|
77
|
-
PP_Error *error)
|
78
|
-
{
|
79
|
-
AppTypeDetector *detector = (AppTypeDetector *) _detector;
|
80
|
-
try {
|
81
|
-
return detector->checkDocumentRoot(StaticString(documentRoot, len), resolveFirstSymlink);
|
82
|
-
} catch (const std::exception &e) {
|
83
|
-
pp_error_set(e, error);
|
84
|
-
return PAT_ERROR;
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
PassengerAppType
|
89
|
-
pp_app_type_detector_check_app_root(PP_AppTypeDetector *_detector,
|
90
|
-
const char *appRoot, unsigned int len, PP_Error *error)
|
91
|
-
{
|
92
|
-
AppTypeDetector *detector = (AppTypeDetector *) _detector;
|
93
|
-
try {
|
94
|
-
return detector->checkAppRoot(StaticString(appRoot, len));
|
95
|
-
} catch (const std::exception &e) {
|
96
|
-
pp_error_set(e, error);
|
97
|
-
return PAT_ERROR;
|
98
|
-
}
|
99
|
-
}
|
100
|
-
|
101
|
-
const char *
|
102
|
-
pp_get_app_type_name(PassengerAppType type) {
|
103
|
-
return getAppTypeName(type);
|
104
|
-
}
|
105
|
-
|
106
|
-
PassengerAppType
|
107
|
-
pp_get_app_type2(const char *name, unsigned int len) {
|
108
|
-
return getAppType(StaticString(name, len));
|
109
|
-
}
|