passenger 5.3.4 → 5.3.5
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/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
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
#include <ngx_core.h>
|
|
32
32
|
#include <ngx_http.h>
|
|
33
|
-
#include "cxx_supportlib/
|
|
33
|
+
#include "cxx_supportlib/AppTypeDetector/CBindings.h"
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
typedef struct {
|
|
@@ -46,8 +46,8 @@ typedef struct {
|
|
|
46
46
|
/** The application's base URI. Points to an empty string if none. */
|
|
47
47
|
ngx_str_t base_uri;
|
|
48
48
|
|
|
49
|
-
/**
|
|
50
|
-
|
|
49
|
+
/** Detected information about the app. */
|
|
50
|
+
PsgAppTypeDetectorResult *detector_result;
|
|
51
51
|
} passenger_context_t;
|
|
52
52
|
|
|
53
53
|
|
|
@@ -58,6 +58,9 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
|
|
|
58
58
|
conf->disable_security_update_check = NGX_CONF_UNSET;
|
|
59
59
|
conf->security_update_check_proxy.data = NULL;
|
|
60
60
|
conf->security_update_check_proxy.len = 0;
|
|
61
|
+
conf->disable_anonymous_telemetry = NGX_CONF_UNSET;
|
|
62
|
+
conf->anonymous_telemetry_proxy.data = NULL;
|
|
63
|
+
conf->anonymous_telemetry_proxy.len = 0;
|
|
61
64
|
conf->prestart_uris = NGX_CONF_UNSET_PTR;
|
|
62
65
|
conf->instance_registry_dir.data = NULL;
|
|
63
66
|
conf->instance_registry_dir.len = 0;
|
|
@@ -131,6 +134,14 @@ passenger_create_autogenerated_main_conf(passenger_autogenerated_main_conf_t *co
|
|
|
131
134
|
conf->security_update_check_proxy_source_file.len = 0;
|
|
132
135
|
conf->security_update_check_proxy_source_line = 0;
|
|
133
136
|
conf->security_update_check_proxy_explicitly_set = 0;
|
|
137
|
+
conf->disable_anonymous_telemetry_source_file.data = NULL;
|
|
138
|
+
conf->disable_anonymous_telemetry_source_file.len = 0;
|
|
139
|
+
conf->disable_anonymous_telemetry_source_line = 0;
|
|
140
|
+
conf->disable_anonymous_telemetry_explicitly_set = 0;
|
|
141
|
+
conf->anonymous_telemetry_proxy_source_file.data = NULL;
|
|
142
|
+
conf->anonymous_telemetry_proxy_source_file.len = 0;
|
|
143
|
+
conf->anonymous_telemetry_proxy_source_line = 0;
|
|
144
|
+
conf->anonymous_telemetry_proxy_explicitly_set = 0;
|
|
134
145
|
conf->prestart_uris_source_file.data = NULL;
|
|
135
146
|
conf->prestart_uris_source_file.len = 0;
|
|
136
147
|
conf->prestart_uris_source_line = 0;
|
|
@@ -182,6 +182,29 @@ generate_config_manifest_for_autogenerated_main_conf(manifest_gen_ctx_t *ctx, pa
|
|
|
182
182
|
(const char *) conf->autogenerated.security_update_check_proxy.data,
|
|
183
183
|
conf->autogenerated.security_update_check_proxy.len);
|
|
184
184
|
}
|
|
185
|
+
if (conf->autogenerated.disable_anonymous_telemetry_explicitly_set) {
|
|
186
|
+
option_container = find_or_create_manifest_option_container(ctx,
|
|
187
|
+
ctx->global_config_container,
|
|
188
|
+
"passenger_disable_anonymous_telemetry",
|
|
189
|
+
sizeof("passenger_disable_anonymous_telemetry") - 1);
|
|
190
|
+
hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
|
|
191
|
+
&conf->autogenerated.disable_anonymous_telemetry_source_file,
|
|
192
|
+
conf->autogenerated.disable_anonymous_telemetry_source_line);
|
|
193
|
+
psg_json_value_set_bool(hierarchy_member, "value",
|
|
194
|
+
conf->autogenerated.disable_anonymous_telemetry);
|
|
195
|
+
}
|
|
196
|
+
if (conf->autogenerated.anonymous_telemetry_proxy_explicitly_set) {
|
|
197
|
+
option_container = find_or_create_manifest_option_container(ctx,
|
|
198
|
+
ctx->global_config_container,
|
|
199
|
+
"passenger_anonymous_telemetry_proxy",
|
|
200
|
+
sizeof("passenger_anonymous_telemetry_proxy") - 1);
|
|
201
|
+
hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
|
|
202
|
+
&conf->autogenerated.anonymous_telemetry_proxy_source_file,
|
|
203
|
+
conf->autogenerated.anonymous_telemetry_proxy_source_line);
|
|
204
|
+
psg_json_value_set_str(hierarchy_member, "value",
|
|
205
|
+
(const char *) conf->autogenerated.anonymous_telemetry_proxy.data,
|
|
206
|
+
conf->autogenerated.anonymous_telemetry_proxy.len);
|
|
207
|
+
}
|
|
185
208
|
if (conf->autogenerated.prestart_uris_explicitly_set) {
|
|
186
209
|
option_container = find_or_create_manifest_option_container(ctx,
|
|
187
210
|
ctx->global_config_container,
|
|
@@ -43,6 +43,7 @@ typedef struct {
|
|
|
43
43
|
ngx_uint_t app_file_descriptor_ulimit;
|
|
44
44
|
ngx_uint_t core_file_descriptor_ulimit;
|
|
45
45
|
ngx_array_t *ctl;
|
|
46
|
+
ngx_flag_t disable_anonymous_telemetry;
|
|
46
47
|
ngx_flag_t disable_security_update_check;
|
|
47
48
|
ngx_uint_t log_level;
|
|
48
49
|
ngx_uint_t max_instances_per_app;
|
|
@@ -59,6 +60,7 @@ typedef struct {
|
|
|
59
60
|
ngx_str_t admin_panel_password;
|
|
60
61
|
ngx_str_t admin_panel_url;
|
|
61
62
|
ngx_str_t admin_panel_username;
|
|
63
|
+
ngx_str_t anonymous_telemetry_proxy;
|
|
62
64
|
ngx_str_t data_buffer_dir;
|
|
63
65
|
ngx_str_t default_group;
|
|
64
66
|
ngx_str_t default_user;
|
|
@@ -74,12 +76,14 @@ typedef struct {
|
|
|
74
76
|
ngx_str_t admin_panel_password_source_file;
|
|
75
77
|
ngx_str_t admin_panel_url_source_file;
|
|
76
78
|
ngx_str_t admin_panel_username_source_file;
|
|
79
|
+
ngx_str_t anonymous_telemetry_proxy_source_file;
|
|
77
80
|
ngx_str_t app_file_descriptor_ulimit_source_file;
|
|
78
81
|
ngx_str_t core_file_descriptor_ulimit_source_file;
|
|
79
82
|
ngx_str_t ctl_source_file;
|
|
80
83
|
ngx_str_t data_buffer_dir_source_file;
|
|
81
84
|
ngx_str_t default_group_source_file;
|
|
82
85
|
ngx_str_t default_user_source_file;
|
|
86
|
+
ngx_str_t disable_anonymous_telemetry_source_file;
|
|
83
87
|
ngx_str_t disable_security_update_check_source_file;
|
|
84
88
|
ngx_str_t dump_config_manifest_source_file;
|
|
85
89
|
ngx_str_t file_descriptor_log_file_source_file;
|
|
@@ -104,12 +108,14 @@ typedef struct {
|
|
|
104
108
|
ngx_uint_t admin_panel_password_source_line;
|
|
105
109
|
ngx_uint_t admin_panel_url_source_line;
|
|
106
110
|
ngx_uint_t admin_panel_username_source_line;
|
|
111
|
+
ngx_uint_t anonymous_telemetry_proxy_source_line;
|
|
107
112
|
ngx_uint_t app_file_descriptor_ulimit_source_line;
|
|
108
113
|
ngx_uint_t core_file_descriptor_ulimit_source_line;
|
|
109
114
|
ngx_uint_t ctl_source_line;
|
|
110
115
|
ngx_uint_t data_buffer_dir_source_line;
|
|
111
116
|
ngx_uint_t default_group_source_line;
|
|
112
117
|
ngx_uint_t default_user_source_line;
|
|
118
|
+
ngx_uint_t disable_anonymous_telemetry_source_line;
|
|
113
119
|
ngx_uint_t disable_security_update_check_source_line;
|
|
114
120
|
ngx_uint_t dump_config_manifest_source_line;
|
|
115
121
|
ngx_uint_t file_descriptor_log_file_source_line;
|
|
@@ -134,12 +140,14 @@ typedef struct {
|
|
|
134
140
|
ngx_int_t admin_panel_password_explicitly_set;
|
|
135
141
|
ngx_int_t admin_panel_url_explicitly_set;
|
|
136
142
|
ngx_int_t admin_panel_username_explicitly_set;
|
|
143
|
+
ngx_int_t anonymous_telemetry_proxy_explicitly_set;
|
|
137
144
|
ngx_int_t app_file_descriptor_ulimit_explicitly_set;
|
|
138
145
|
ngx_int_t core_file_descriptor_ulimit_explicitly_set;
|
|
139
146
|
ngx_int_t ctl_explicitly_set;
|
|
140
147
|
ngx_int_t data_buffer_dir_explicitly_set;
|
|
141
148
|
ngx_int_t default_group_explicitly_set;
|
|
142
149
|
ngx_int_t default_user_explicitly_set;
|
|
150
|
+
ngx_int_t disable_anonymous_telemetry_explicitly_set;
|
|
143
151
|
ngx_int_t disable_security_update_check_explicitly_set;
|
|
144
152
|
ngx_int_t dump_config_manifest_explicitly_set;
|
|
145
153
|
ngx_int_t file_descriptor_log_file_explicitly_set;
|
data/src/nginx_module/config
CHANGED
|
@@ -75,7 +75,8 @@ PASSENGER_MODULE_DEPS="${ngx_addon_dir}/Configuration.h \
|
|
|
75
75
|
${ngx_addon_dir}/ngx_http_passenger_module.h \
|
|
76
76
|
${PASSENGER_INCLUDEDIR}/cxx_supportlib/Constants.h \
|
|
77
77
|
${PASSENGER_INCLUDEDIR}/cxx_supportlib/WatchdogLauncher.h \
|
|
78
|
-
${PASSENGER_INCLUDEDIR}/cxx_supportlib/
|
|
78
|
+
${PASSENGER_INCLUDEDIR}/cxx_supportlib/AppTypeDetector/CBindings.h \
|
|
79
|
+
${PASSENGER_INCLUDEDIR}/cxx_supportlib/WrapperRegistry/CBindings.h"
|
|
79
80
|
PASSENGER_MODULE_SRCS="${ngx_addon_dir}/ngx_http_passenger_module.c \
|
|
80
81
|
${ngx_addon_dir}/Configuration.c \
|
|
81
82
|
${ngx_addon_dir}/ContentHandler.c \
|
|
@@ -60,7 +60,8 @@ static int first_start = 1;
|
|
|
60
60
|
ngx_str_t pp_schema_string;
|
|
61
61
|
ngx_str_t pp_placeholder_upstream_address;
|
|
62
62
|
PP_CachedFileStat *pp_stat_cache;
|
|
63
|
-
|
|
63
|
+
PsgWrapperRegistry *psg_wrapper_registry;
|
|
64
|
+
PsgAppTypeDetector *psg_app_type_detector;
|
|
64
65
|
PsgWatchdogLauncher *psg_watchdog_launcher = NULL;
|
|
65
66
|
ngx_cycle_t *pp_current_cycle;
|
|
66
67
|
|
|
@@ -348,7 +349,7 @@ start_watchdog(ngx_cycle_t *cycle) {
|
|
|
348
349
|
}
|
|
349
350
|
|
|
350
351
|
if (autogenerated_main_conf->stat_throttle_rate != NGX_CONF_UNSET_UINT) {
|
|
351
|
-
|
|
352
|
+
psg_app_type_detector_set_throttle_rate(psg_app_type_detector,
|
|
352
353
|
autogenerated_main_conf->stat_throttle_rate);
|
|
353
354
|
}
|
|
354
355
|
|
|
@@ -367,6 +368,8 @@ start_watchdog(ngx_cycle_t *cycle) {
|
|
|
367
368
|
psg_json_value_set_ngx_str_ne(w_config, "instance_registry_dir", &autogenerated_main_conf->instance_registry_dir);
|
|
368
369
|
psg_json_value_set_ngx_flag (w_config, "security_update_checker_disabled", autogenerated_main_conf->disable_security_update_check);
|
|
369
370
|
psg_json_value_set_ngx_str_ne(w_config, "security_update_checker_proxy_url", &autogenerated_main_conf->security_update_check_proxy);
|
|
371
|
+
psg_json_value_set_ngx_flag (w_config, "telemetry_collector_disabled", autogenerated_main_conf->disable_anonymous_telemetry);
|
|
372
|
+
psg_json_value_set_ngx_str_ne(w_config, "telemetry_collector_proxy_url", &autogenerated_main_conf->anonymous_telemetry_proxy);
|
|
370
373
|
psg_json_value_set_ngx_flag (w_config, "user_switching", autogenerated_main_conf->user_switching);
|
|
371
374
|
psg_json_value_set_ngx_flag (w_config, "show_version_in_header", autogenerated_main_conf->show_version_in_header);
|
|
372
375
|
psg_json_value_set_ngx_flag (w_config, "turbocaching", autogenerated_main_conf->turbocaching);
|
|
@@ -511,7 +514,10 @@ pre_config_init(ngx_conf_t *cf)
|
|
|
511
514
|
pp_placeholder_upstream_address.data = (u_char *) "unix:/passenger_core";
|
|
512
515
|
pp_placeholder_upstream_address.len = sizeof("unix:/passenger_core") - 1;
|
|
513
516
|
pp_stat_cache = pp_cached_file_stat_new(1024);
|
|
514
|
-
|
|
517
|
+
psg_wrapper_registry = psg_wrapper_registry_new();
|
|
518
|
+
psg_wrapper_registry_finalize(psg_wrapper_registry);
|
|
519
|
+
psg_app_type_detector = psg_app_type_detector_new(psg_wrapper_registry,
|
|
520
|
+
DEFAULT_STAT_THROTTLE_RATE);
|
|
515
521
|
psg_watchdog_launcher = psg_watchdog_launcher_new(IM_NGINX, &error_message);
|
|
516
522
|
|
|
517
523
|
if (psg_watchdog_launcher == NULL) {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
#include <ngx_config.h>
|
|
32
32
|
#include <ngx_core.h>
|
|
33
33
|
#include "cxx_supportlib/WatchdogLauncher.h"
|
|
34
|
-
#include "cxx_supportlib/
|
|
34
|
+
#include "cxx_supportlib/AppTypeDetector/CBindings.h"
|
|
35
35
|
#include "cxx_supportlib/Utils/CachedFileStat.h"
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -55,7 +55,9 @@ extern ngx_str_t pp_placeholder_upstream_address;
|
|
|
55
55
|
/** A CachedFileStat object used for caching stat() calls. */
|
|
56
56
|
extern PP_CachedFileStat *pp_stat_cache;
|
|
57
57
|
|
|
58
|
-
extern
|
|
58
|
+
extern PsgWrapperRegistry *psg_wrapper_registry;
|
|
59
|
+
|
|
60
|
+
extern PsgAppTypeDetector *psg_app_type_detector;
|
|
59
61
|
|
|
60
62
|
extern PsgWatchdogLauncher *psg_watchdog_launcher;
|
|
61
63
|
|
|
@@ -31,7 +31,7 @@ module PhusionPassenger
|
|
|
31
31
|
|
|
32
32
|
PACKAGE_NAME = 'passenger'
|
|
33
33
|
# Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
|
|
34
|
-
VERSION_STRING = '5.3.
|
|
34
|
+
VERSION_STRING = '5.3.5'
|
|
35
35
|
|
|
36
36
|
PREFERRED_NGINX_VERSION = '1.14.0'
|
|
37
37
|
NGINX_SHA256_CHECKSUM = '5d15becbf69aba1fe33f8d416d97edd95ea8919ea9ac519eff9bafebb6022cb5'
|
|
@@ -219,6 +219,7 @@ module PhusionPassenger
|
|
|
219
219
|
|
|
220
220
|
def self.binaries_sites
|
|
221
221
|
[
|
|
222
|
+
{ :url => "https://github.com/phusion/passenger/releases/download/release-{{VERSION}}".freeze },
|
|
222
223
|
{ :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release".freeze },
|
|
223
224
|
{ :url => "https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release".freeze }
|
|
224
225
|
]
|
|
@@ -228,6 +228,19 @@ APACHE2_CONFIGURATION_OPTIONS = [
|
|
|
228
228
|
:context => :global,
|
|
229
229
|
:desc => "Use specified HTTP/SOCKS proxy for the #{PROGRAM_NAME} security update check."
|
|
230
230
|
},
|
|
231
|
+
{
|
|
232
|
+
:name => 'PassengerDisableAnonymousTelemetry',
|
|
233
|
+
:type => :flag,
|
|
234
|
+
:context => :global,
|
|
235
|
+
:default => false,
|
|
236
|
+
:desc => "Whether to disable #{PROGRAM_NAME} anonymous telemetry."
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
:name => 'PassengerAnonymousTelemetryProxy',
|
|
240
|
+
:type => :string,
|
|
241
|
+
:context => :global,
|
|
242
|
+
:desc => "Use specified HTTP/SOCKS proxy for #{PROGRAM_NAME} anonymous telemetry collection."
|
|
243
|
+
},
|
|
231
244
|
{
|
|
232
245
|
:name => 'PassengerStatThrottleRate',
|
|
233
246
|
:type => :integer,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2012-
|
|
2
|
+
# Copyright (c) 2012-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.
|
|
@@ -350,8 +350,11 @@ COMMON_LIBRARY = CommonLibraryBuilder.new do
|
|
|
350
350
|
define_component 'DataStructures/LString.o',
|
|
351
351
|
:source => 'DataStructures/LString.cpp',
|
|
352
352
|
:category => :other
|
|
353
|
-
define_component '
|
|
354
|
-
:source => '
|
|
353
|
+
define_component 'AppTypeDetector/CBindings.o',
|
|
354
|
+
:source => 'AppTypeDetector/CBindings.cpp',
|
|
355
|
+
:category => :other
|
|
356
|
+
define_component 'WrapperRegistry/CBindings.o',
|
|
357
|
+
:source => 'WrapperRegistry/CBindings.cpp',
|
|
355
358
|
:category => :other
|
|
356
359
|
|
|
357
360
|
define_component 'vendor-modified/modp_b64.o',
|
|
@@ -380,6 +383,6 @@ end
|
|
|
380
383
|
|
|
381
384
|
# A subset of the objects are linked to the Nginx binary. This defines
|
|
382
385
|
# what those objects are.
|
|
383
|
-
NGINX_LIBS_SELECTOR = [:base, 'WatchdogLauncher.o', '
|
|
384
|
-
'Utils/CachedFileStat.o', 'JsonTools/CBindings.o',
|
|
386
|
+
NGINX_LIBS_SELECTOR = [:base, 'WatchdogLauncher.o', 'AppTypeDetector/CBindings.o',
|
|
387
|
+
'WrapperRegistry/CBindings.o', 'Utils/CachedFileStat.o', 'JsonTools/CBindings.o',
|
|
385
388
|
'FileTools/PathManipCBindings.o']
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2014-
|
|
2
|
+
# Copyright (c) 2014-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.
|
|
@@ -256,7 +256,11 @@ module PhusionPassenger
|
|
|
256
256
|
end
|
|
257
257
|
|
|
258
258
|
def real_download_support_file(site, name, output)
|
|
259
|
-
|
|
259
|
+
if site[:url].include?('{{VERSION}}')
|
|
260
|
+
url = site[:url].gsub('{{VERSION}}', VERSION_STRING) + "/#{name}"
|
|
261
|
+
else
|
|
262
|
+
url = "#{site[:url]}/#{VERSION_STRING}/#{name}"
|
|
263
|
+
end
|
|
260
264
|
options = {
|
|
261
265
|
:cacert => site[:cacert],
|
|
262
266
|
:logger => @logger,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
2
|
-
# Copyright (c) 2014-
|
|
2
|
+
# Copyright (c) 2014-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.
|
|
@@ -260,7 +260,11 @@ module PhusionPassenger
|
|
|
260
260
|
end
|
|
261
261
|
|
|
262
262
|
def real_download_support_file(site, name, output)
|
|
263
|
-
|
|
263
|
+
if site[:url].include?('{{VERSION}}')
|
|
264
|
+
url = site[:url].gsub('{{VERSION}}', VERSION_STRING) + "/#{name}"
|
|
265
|
+
else
|
|
266
|
+
url = "#{site[:url]}/#{VERSION_STRING}/#{name}"
|
|
267
|
+
end
|
|
264
268
|
options = {
|
|
265
269
|
:cacert => site[:cacert],
|
|
266
270
|
:logger => @logger,
|
|
@@ -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.
|
|
@@ -225,7 +225,7 @@ module PhusionPassenger
|
|
|
225
225
|
end
|
|
226
226
|
|
|
227
227
|
# Name of the user under which we are executing, or the id as fallback
|
|
228
|
-
# N.B. loader_shared_helpers.rb has the same method
|
|
228
|
+
# N.B. loader_shared_helpers.rb has the same method
|
|
229
229
|
def current_user_name_or_id
|
|
230
230
|
require 'etc' if !defined?(Etc)
|
|
231
231
|
begin
|
|
@@ -271,7 +271,11 @@ module PhusionPassenger
|
|
|
271
271
|
end
|
|
272
272
|
|
|
273
273
|
def real_download(site, name, output_dir, logger, options)
|
|
274
|
-
|
|
274
|
+
if site[:url].include?('{{VERSION}}')
|
|
275
|
+
url = site[:url].gsub('{{VERSION}}', VERSION_STRING) + "/#{name}"
|
|
276
|
+
else
|
|
277
|
+
url = "#{site[:url]}/#{VERSION_STRING}/#{name}"
|
|
278
|
+
end
|
|
275
279
|
filename = "#{output_dir}/#{name}"
|
|
276
280
|
real_options = options.merge(
|
|
277
281
|
:cacert => site[:cacert],
|
|
@@ -200,6 +200,21 @@ NGINX_CONFIGURATION_OPTIONS = [
|
|
|
200
200
|
:context => [:main],
|
|
201
201
|
:struct => 'NGX_HTTP_MAIN_CONF_OFFSET'
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
:name => 'passenger_disable_anonymous_telemetry',
|
|
205
|
+
:scope => :global,
|
|
206
|
+
:type => :flag,
|
|
207
|
+
:default => false,
|
|
208
|
+
:context => [:main],
|
|
209
|
+
:struct => 'NGX_HTTP_MAIN_CONF_OFFSET'
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
:name => 'passenger_anonymous_telemetry_proxy',
|
|
213
|
+
:scope => :global,
|
|
214
|
+
:type => :string,
|
|
215
|
+
:context => [:main],
|
|
216
|
+
:struct => 'NGX_HTTP_MAIN_CONF_OFFSET'
|
|
217
|
+
},
|
|
203
218
|
{
|
|
204
219
|
:name => 'passenger_pre_start',
|
|
205
220
|
:scope => :global,
|
|
@@ -522,7 +522,17 @@ module PhusionPassenger
|
|
|
522
522
|
{
|
|
523
523
|
:name => :security_update_check_proxy,
|
|
524
524
|
:type_desc => 'NAME',
|
|
525
|
-
:desc => "Use
|
|
525
|
+
:desc => "Use HTTP/SOCKS proxy for the security update check"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
:name => :disable_anonymous_telemetry,
|
|
529
|
+
:type => :boolean,
|
|
530
|
+
:desc => "Disable anonymous telemetry collection"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
:name => :anonymous_telemetry_proxy,
|
|
534
|
+
:type_desc => 'NAME',
|
|
535
|
+
:desc => "Use HTTP/SOCKS proxy for anonymous telemetry collection"
|
|
526
536
|
},
|
|
527
537
|
{
|
|
528
538
|
:name => :engine,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
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.
|
|
@@ -180,6 +180,8 @@ module PhusionPassenger
|
|
|
180
180
|
add_param(command, :app_file_descriptor_ulimit, "--app-file-descriptor-ulimit")
|
|
181
181
|
add_flag_param(command, :disable_security_update_check, "--disable-security-update-check")
|
|
182
182
|
add_param(command, :security_update_check_proxy, "--security-update-check-proxy")
|
|
183
|
+
add_flag_param(command, :disable_anonymous_telemetry, "--disable-anonymous-telemetry")
|
|
184
|
+
add_param(command, :anonymous_telemetry_proxy, "--anonymous-telemetry-proxy")
|
|
183
185
|
|
|
184
186
|
command << " #{Shellwords.escape(@apps[0][:root])}"
|
|
185
187
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: passenger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.3.
|
|
4
|
+
version: 5.3.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Phusion - http://www.phusion.nl/
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-09-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -157,6 +157,7 @@ files:
|
|
|
157
157
|
- dev/rack.test/public/asset.txt
|
|
158
158
|
- dev/ruby_server.rb
|
|
159
159
|
- dev/runner
|
|
160
|
+
- dev/show-latest-crashlog-dir
|
|
160
161
|
- dev/vagrant/apache_default_site.conf
|
|
161
162
|
- dev/vagrant/apache_passenger.conf
|
|
162
163
|
- dev/vagrant/apache_passenger.load
|
|
@@ -357,6 +358,7 @@ files:
|
|
|
357
358
|
- src/agent/Core/SpawningKit/SmartSpawner.h
|
|
358
359
|
- src/agent/Core/SpawningKit/Spawner.h
|
|
359
360
|
- src/agent/Core/SpawningKit/UserSwitchingRules.h
|
|
361
|
+
- src/agent/Core/TelemetryCollector.h
|
|
360
362
|
- src/agent/ExecHelper/ExecHelperMain.cpp
|
|
361
363
|
- src/agent/README.md
|
|
362
364
|
- src/agent/Shared/ApiAccountUtils.h
|
|
@@ -412,8 +414,9 @@ files:
|
|
|
412
414
|
- src/apache2_module/Utils.h
|
|
413
415
|
- src/apache2_module/mod_passenger.c
|
|
414
416
|
- src/cxx_supportlib/Algorithms/MovingAverage.h
|
|
415
|
-
- src/cxx_supportlib/
|
|
416
|
-
- src/cxx_supportlib/
|
|
417
|
+
- src/cxx_supportlib/AppTypeDetector/CBindings.cpp
|
|
418
|
+
- src/cxx_supportlib/AppTypeDetector/CBindings.h
|
|
419
|
+
- src/cxx_supportlib/AppTypeDetector/Detector.h
|
|
417
420
|
- src/cxx_supportlib/BackgroundEventLoop.cpp
|
|
418
421
|
- src/cxx_supportlib/BackgroundEventLoop.h
|
|
419
422
|
- src/cxx_supportlib/ConfigKit/AsyncUtils.h
|
|
@@ -556,6 +559,11 @@ files:
|
|
|
556
559
|
- src/cxx_supportlib/WatchdogLauncher.cpp
|
|
557
560
|
- src/cxx_supportlib/WatchdogLauncher.h
|
|
558
561
|
- src/cxx_supportlib/WebSocketCommandReverseServer.h
|
|
562
|
+
- src/cxx_supportlib/WrapperRegistry/CBindings.cpp
|
|
563
|
+
- src/cxx_supportlib/WrapperRegistry/CBindings.h
|
|
564
|
+
- src/cxx_supportlib/WrapperRegistry/Entry.h
|
|
565
|
+
- src/cxx_supportlib/WrapperRegistry/README.md
|
|
566
|
+
- src/cxx_supportlib/WrapperRegistry/Registry.h
|
|
559
567
|
- src/cxx_supportlib/oxt/Readme.txt
|
|
560
568
|
- src/cxx_supportlib/oxt/backtrace.hpp
|
|
561
569
|
- src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp
|