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
@@ -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
|