passenger 6.1.4 → 6.1.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 +6 -1
- data/Rakefile +1 -1
- data/build/agent.rb +15 -15
- data/build/apache2.rb +18 -18
- data/build/basics.rb +1 -1
- data/build/common_library.rb +21 -20
- data/build/cxx_tests.rb +19 -19
- data/build/integration_tests.rb +3 -3
- data/build/misc.rb +10 -9
- data/build/nginx.rb +12 -12
- data/build/oxt_tests.rb +7 -7
- data/build/packaging.rb +11 -11
- data/build/ruby_extension.rb +3 -3
- data/build/ruby_tests.rb +1 -1
- data/build/schema_printer.rb +13 -13
- data/build/support/cplusplus.rb +8 -8
- data/build/support/cxx_dependency_map.rb +622 -622
- data/build/support/general.rb +0 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +4 -4
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -4
- data/dev/colorize-logs +6 -6
- data/dev/copy_boost_headers +8 -8
- data/dev/index_cxx_dependencies.rb +6 -6
- data/dev/install_scripts_bootstrap_code.rb +4 -4
- data/dev/list_tests +2 -2
- data/dev/nginx_version_sha256 +2 -2
- data/dev/parse_file_descriptor_log +1 -1
- data/passenger.gemspec +4 -4
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
- data/src/helper-scripts/download_binaries/extconf.rb +8 -8
- data/src/helper-scripts/meteor-loader.rb +39 -39
- data/src/helper-scripts/rack-loader.rb +1 -0
- data/src/helper-scripts/rack-preloader.rb +2 -1
- data/src/ruby_native_extension/extconf.rb +27 -28
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +27 -27
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +9 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +24 -24
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +526 -526
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +105 -105
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +17 -17
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +18 -18
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +10 -10
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -12
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +24 -23
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +26 -26
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +14 -13
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +34 -33
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +35 -36
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +17 -16
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +42 -42
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +548 -548
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +85 -84
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +65 -65
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -10
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +14 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +27 -26
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +16 -16
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +29 -28
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +37 -36
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -3
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +16 -15
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +8 -7
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +9 -11
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +27 -26
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +6 -5
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +351 -351
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +11 -11
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -14
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +21 -23
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +12 -11
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +9 -9
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +8 -7
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +13 -12
- data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/utils.rb +17 -16
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger.rb +23 -22
- metadata +2 -2
|
@@ -36,16 +36,16 @@ module PhusionPassenger
|
|
|
36
36
|
class InstallAgentCommand < Command
|
|
37
37
|
def run
|
|
38
38
|
@options = {
|
|
39
|
-
:
|
|
40
|
-
:
|
|
41
|
-
:
|
|
42
|
-
:
|
|
43
|
-
:
|
|
44
|
-
:
|
|
39
|
+
log_level: Logger::INFO,
|
|
40
|
+
colorize: :auto,
|
|
41
|
+
force: false,
|
|
42
|
+
force_tip: true,
|
|
43
|
+
compile: true,
|
|
44
|
+
download_args: [
|
|
45
45
|
"--no-error-colors",
|
|
46
|
-
"--no-compilation-tip"
|
|
46
|
+
"--no-compilation-tip",
|
|
47
47
|
],
|
|
48
|
-
:
|
|
48
|
+
compile_args: [],
|
|
49
49
|
}
|
|
50
50
|
parse_options
|
|
51
51
|
initialize_objects
|
|
@@ -165,9 +165,9 @@ module PhusionPassenger
|
|
|
165
165
|
end
|
|
166
166
|
begin
|
|
167
167
|
DownloadAgentCommand.new(@options[:download_args]).run
|
|
168
|
-
|
|
168
|
+
true
|
|
169
169
|
rescue SystemExit => e
|
|
170
|
-
|
|
170
|
+
e.success?
|
|
171
171
|
end
|
|
172
172
|
end
|
|
173
173
|
|
|
@@ -39,19 +39,19 @@ module PhusionPassenger
|
|
|
39
39
|
class InstallStandaloneRuntimeCommand < Command
|
|
40
40
|
def run
|
|
41
41
|
@options = {
|
|
42
|
-
:
|
|
43
|
-
:
|
|
44
|
-
:
|
|
45
|
-
:
|
|
46
|
-
:
|
|
47
|
-
:
|
|
48
|
-
:
|
|
49
|
-
:
|
|
42
|
+
log_level: Logger::INFO,
|
|
43
|
+
colorize: :auto,
|
|
44
|
+
force: false,
|
|
45
|
+
force_tip: true,
|
|
46
|
+
compile: true,
|
|
47
|
+
install_agent: true,
|
|
48
|
+
install_agent_args: [],
|
|
49
|
+
download_args: [
|
|
50
50
|
"--no-error-colors",
|
|
51
|
-
"--no-compilation-tip"
|
|
51
|
+
"--no-compilation-tip",
|
|
52
52
|
],
|
|
53
|
-
:
|
|
54
|
-
:
|
|
53
|
+
engine: "nginx",
|
|
54
|
+
compile_args: [],
|
|
55
55
|
}
|
|
56
56
|
parse_options
|
|
57
57
|
initialize_objects
|
|
@@ -283,7 +283,7 @@ module PhusionPassenger
|
|
|
283
283
|
end
|
|
284
284
|
|
|
285
285
|
def boolean_option(env_name)
|
|
286
|
-
["true", "on", "yes", "1"].include?(ENV[env_name])
|
|
286
|
+
[ "true", "on", "yes", "1" ].include?(ENV[env_name])
|
|
287
287
|
end
|
|
288
288
|
end
|
|
289
289
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
|
|
2
3
|
#
|
|
3
4
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
5
|
# Copyright (c) 2014-2025 Asynchronous B.V.
|
|
@@ -60,23 +61,23 @@ module PhusionPassenger
|
|
|
60
61
|
if result == false
|
|
61
62
|
print_installation_error_header
|
|
62
63
|
render_template 'installation_utils/support_binaries_dir_not_writable_despite_running_as_root',
|
|
63
|
-
:
|
|
64
|
-
:
|
|
64
|
+
dir: PhusionPassenger.support_binaries_dir,
|
|
65
|
+
myself: myself
|
|
65
66
|
else
|
|
66
67
|
render_template 'installation_utils/unexpected_filesystem_problem',
|
|
67
|
-
:
|
|
68
|
-
:
|
|
68
|
+
dir: PhusionPassenger.support_binaries_dir,
|
|
69
|
+
exception: result
|
|
69
70
|
end
|
|
70
71
|
abort
|
|
71
72
|
else
|
|
72
|
-
|
|
73
|
+
find_or_create_writable_user_support_binaries_dir!
|
|
73
74
|
end
|
|
74
75
|
else
|
|
75
76
|
if Process.euid == 0
|
|
76
77
|
mkdir_p_preserve_parent_owner(PhusionPassenger.support_binaries_dir)
|
|
77
|
-
|
|
78
|
+
PhusionPassenger.support_binaries_dir
|
|
78
79
|
else
|
|
79
|
-
|
|
80
|
+
find_or_create_writable_user_support_binaries_dir!
|
|
80
81
|
end
|
|
81
82
|
end
|
|
82
83
|
end
|
|
@@ -101,7 +102,7 @@ module PhusionPassenger
|
|
|
101
102
|
puts "---------------------------------------"
|
|
102
103
|
puts
|
|
103
104
|
render_template 'installation_utils/download_tool_missing',
|
|
104
|
-
:
|
|
105
|
+
runner: runner
|
|
105
106
|
abort
|
|
106
107
|
end
|
|
107
108
|
end
|
|
@@ -121,14 +122,14 @@ module PhusionPassenger
|
|
|
121
122
|
end
|
|
122
123
|
|
|
123
124
|
def rake
|
|
124
|
-
|
|
125
|
+
"env NOEXEC_DISABLE=1 #{PlatformInfo.rake_command}"
|
|
125
126
|
end
|
|
126
127
|
|
|
127
128
|
def run_rake_task!(target)
|
|
128
129
|
total_lines = `#{rake} #{target} --dry-run STDERR_TO_STDOUT=1 2>&1`.split("\n").size - 1
|
|
129
130
|
partial_backlog = String.new
|
|
130
131
|
logfile = PhusionPassenger::Utils::TmpIO.new("passenger-install-log",
|
|
131
|
-
:
|
|
132
|
+
mode: File::WRONLY, unlink_immediately: false)
|
|
132
133
|
|
|
133
134
|
begin
|
|
134
135
|
command = "#{rake} #{target} --trace STDERR_TO_STDOUT=1 2>&1"
|
|
@@ -173,13 +174,13 @@ module PhusionPassenger
|
|
|
173
174
|
begin
|
|
174
175
|
File.new(filename, "w").close
|
|
175
176
|
@logger.debug "Yes" if @logger
|
|
176
|
-
|
|
177
|
+
true
|
|
177
178
|
rescue Errno::EACCES
|
|
178
179
|
@logger.debug "No" if @logger
|
|
179
|
-
|
|
180
|
+
false
|
|
180
181
|
rescue SystemCallError => e
|
|
181
182
|
@logger.warn "Unable to check whether we can write to #{path}: #{e}" if @logger
|
|
182
|
-
|
|
183
|
+
e
|
|
183
184
|
ensure
|
|
184
185
|
File.unlink(filename) rescue nil
|
|
185
186
|
end
|
|
@@ -192,7 +193,7 @@ module PhusionPassenger
|
|
|
192
193
|
result = directory_writable?(PhusionPassenger.user_support_binaries_dir)
|
|
193
194
|
case result
|
|
194
195
|
when true
|
|
195
|
-
|
|
196
|
+
PhusionPassenger.user_support_binaries_dir
|
|
196
197
|
when false
|
|
197
198
|
print_installation_error_header
|
|
198
199
|
render_template 'installation_utils/user_support_binaries_dir_not_writable'
|
|
@@ -200,8 +201,8 @@ module PhusionPassenger
|
|
|
200
201
|
else
|
|
201
202
|
print_installation_error_header
|
|
202
203
|
render_template 'installation_utils/unexpected_filesystem_problem',
|
|
203
|
-
:
|
|
204
|
-
:
|
|
204
|
+
dir: PhusionPassenger.support_binaries_dir,
|
|
205
|
+
exception: result
|
|
205
206
|
abort
|
|
206
207
|
end
|
|
207
208
|
end
|
|
@@ -213,14 +214,14 @@ module PhusionPassenger
|
|
|
213
214
|
rescue Errno::EACCES
|
|
214
215
|
print_installation_error_header
|
|
215
216
|
render_template 'installation_utils/cannot_create_user_support_binaries_dir',
|
|
216
|
-
:
|
|
217
|
-
:
|
|
217
|
+
dir: dir,
|
|
218
|
+
myself: myself
|
|
218
219
|
abort
|
|
219
220
|
rescue SystemCallError => e
|
|
220
221
|
print_installation_error_header
|
|
221
222
|
render_template 'installation_utils/unexpected_filesystem_problem',
|
|
222
|
-
:
|
|
223
|
-
:
|
|
223
|
+
dir: dir,
|
|
224
|
+
exception: e
|
|
224
225
|
abort
|
|
225
226
|
end
|
|
226
227
|
end
|
|
@@ -242,18 +243,18 @@ module PhusionPassenger
|
|
|
242
243
|
end
|
|
243
244
|
|
|
244
245
|
def myself
|
|
245
|
-
|
|
246
|
+
`whoami`.strip
|
|
246
247
|
end
|
|
247
248
|
|
|
248
249
|
def render_template(name, options = {})
|
|
249
|
-
options.merge!(:
|
|
250
|
+
options.merge!(colors: @colors || PhusionPassenger::Utils::AnsiColors.new)
|
|
250
251
|
# This check here is necessary for NginxEngineCompiler. NginxEngineCompiler
|
|
251
252
|
# derives from AbstractInstaller but also includes InstallationUtils. We want
|
|
252
253
|
# the AbstractInstaller methods to work when they call render_template.
|
|
253
254
|
if !File.exist?("#{PhusionPassenger.resources_dir}/templates/#{name}.txt.erb")
|
|
254
255
|
name = "config/#{name}"
|
|
255
256
|
end
|
|
256
|
-
puts ConsoleTextTemplate.new({ :
|
|
257
|
+
puts ConsoleTextTemplate.new({ file: name }, options).result
|
|
257
258
|
end
|
|
258
259
|
end
|
|
259
260
|
|
|
@@ -29,24 +29,24 @@ module PhusionPassenger
|
|
|
29
29
|
# Core of the `passenger-config` command. Dispatches a subcommand to a specific class.
|
|
30
30
|
module Config
|
|
31
31
|
KNOWN_COMMANDS = [
|
|
32
|
-
["detach-process", "DetachProcessCommand"],
|
|
33
|
-
["restart-app", "RestartAppCommand"],
|
|
34
|
-
["list-instances", "ListInstancesCommand"],
|
|
35
|
-
["reopen-logs", "ReopenLogsCommand"],
|
|
36
|
-
["api-call", "ApiCallCommand"],
|
|
37
|
-
["validate-install", "ValidateInstallCommand"],
|
|
38
|
-
["build-native-support", "BuildNativeSupportCommand"],
|
|
39
|
-
|
|
40
|
-
["install-agent", "InstallAgentCommand"],
|
|
41
|
-
["install-standalone-runtime", "InstallStandaloneRuntimeCommand"],
|
|
42
|
-
["download-agent", "DownloadAgentCommand"],
|
|
43
|
-
["download-nginx-engine", "DownloadNginxEngineCommand"],
|
|
44
|
-
["compile-agent", "CompileAgentCommand"],
|
|
45
|
-
["compile-nginx-engine", "CompileNginxEngineCommand"],
|
|
46
|
-
|
|
47
|
-
["system-metrics", "SystemMetricsCommand"],
|
|
48
|
-
["system-properties", "SystemPropertiesCommand"],
|
|
49
|
-
["about", "AboutCommand"]
|
|
32
|
+
[ "detach-process", "DetachProcessCommand" ],
|
|
33
|
+
[ "restart-app", "RestartAppCommand" ],
|
|
34
|
+
[ "list-instances", "ListInstancesCommand" ],
|
|
35
|
+
[ "reopen-logs", "ReopenLogsCommand" ],
|
|
36
|
+
[ "api-call", "ApiCallCommand" ],
|
|
37
|
+
[ "validate-install", "ValidateInstallCommand" ],
|
|
38
|
+
[ "build-native-support", "BuildNativeSupportCommand" ],
|
|
39
|
+
|
|
40
|
+
[ "install-agent", "InstallAgentCommand" ],
|
|
41
|
+
[ "install-standalone-runtime", "InstallStandaloneRuntimeCommand" ],
|
|
42
|
+
[ "download-agent", "DownloadAgentCommand" ],
|
|
43
|
+
[ "download-nginx-engine", "DownloadNginxEngineCommand" ],
|
|
44
|
+
[ "compile-agent", "CompileAgentCommand" ],
|
|
45
|
+
[ "compile-nginx-engine", "CompileNginxEngineCommand" ],
|
|
46
|
+
|
|
47
|
+
[ "system-metrics", "SystemMetricsCommand" ],
|
|
48
|
+
[ "system-properties", "SystemPropertiesCommand" ],
|
|
49
|
+
[ "about", "AboutCommand" ],
|
|
50
50
|
]
|
|
51
51
|
|
|
52
52
|
ABOUT_OPTIONS = [
|
|
@@ -65,7 +65,7 @@ module PhusionPassenger
|
|
|
65
65
|
"ruby-libdir",
|
|
66
66
|
"rubyext-compat-id",
|
|
67
67
|
"cxx-compat-id",
|
|
68
|
-
"version"
|
|
68
|
+
"version",
|
|
69
69
|
]
|
|
70
70
|
|
|
71
71
|
def self.run!(argv)
|
|
@@ -132,11 +132,11 @@ module PhusionPassenger
|
|
|
132
132
|
|
|
133
133
|
private
|
|
134
134
|
def self.help_requested?(argv)
|
|
135
|
-
|
|
135
|
+
argv.size == 1 && (argv[0] == "--help" || argv[0] == "-h" || argv[0] == "help")
|
|
136
136
|
end
|
|
137
137
|
|
|
138
138
|
def self.help_all_requested?(argv)
|
|
139
|
-
|
|
139
|
+
argv.size == 1 && (argv[0] == "--help-all" || argv[0] == "help-all")
|
|
140
140
|
end
|
|
141
141
|
|
|
142
142
|
def self.lookup_command_class_by_argv(argv)
|
|
@@ -148,7 +148,7 @@ module PhusionPassenger
|
|
|
148
148
|
name = argv[0].sub(/^--/, '')
|
|
149
149
|
if ABOUT_OPTIONS.include?(name)
|
|
150
150
|
command_class = lookup_command_class_by_class_name("AboutCommand")
|
|
151
|
-
return [command_class, argv]
|
|
151
|
+
return [ command_class, argv ]
|
|
152
152
|
else
|
|
153
153
|
return nil
|
|
154
154
|
end
|
|
@@ -156,18 +156,18 @@ module PhusionPassenger
|
|
|
156
156
|
|
|
157
157
|
# Convert "passenger-config help <COMMAND>" to "passenger-config <COMMAND> --help".
|
|
158
158
|
if argv.size == 2 && argv[0] == "help"
|
|
159
|
-
argv = [argv[1], "--help"]
|
|
159
|
+
argv = [ argv[1], "--help" ]
|
|
160
160
|
end
|
|
161
161
|
|
|
162
162
|
KNOWN_COMMANDS.each do |props|
|
|
163
163
|
if argv[0] == props[0]
|
|
164
164
|
command_class = lookup_command_class_by_class_name(props[1])
|
|
165
165
|
new_argv = argv[1 .. -1]
|
|
166
|
-
return [command_class, new_argv]
|
|
166
|
+
return [ command_class, new_argv ]
|
|
167
167
|
end
|
|
168
168
|
end
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
nil
|
|
171
171
|
end
|
|
172
172
|
|
|
173
173
|
def self.lookup_command_class_by_class_name(class_name)
|
|
@@ -177,7 +177,7 @@ module PhusionPassenger
|
|
|
177
177
|
base_name.sub!(/^_/, '')
|
|
178
178
|
base_name << ".rb"
|
|
179
179
|
PhusionPassenger.require_passenger_lib("config/#{base_name}")
|
|
180
|
-
|
|
180
|
+
PhusionPassenger::Config.const_get(class_name)
|
|
181
181
|
end
|
|
182
182
|
end
|
|
183
183
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
|
|
2
3
|
#
|
|
3
4
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
5
|
# Copyright (c) 2010-2025 Asynchronous B.V.
|
|
@@ -80,7 +81,7 @@ module PhusionPassenger
|
|
|
80
81
|
'depcheck_specs/compiler_toolchain',
|
|
81
82
|
'depcheck_specs/ruby',
|
|
82
83
|
'depcheck_specs/libs',
|
|
83
|
-
'depcheck_specs/utilities'
|
|
84
|
+
'depcheck_specs/utilities',
|
|
84
85
|
]
|
|
85
86
|
ids = [
|
|
86
87
|
'cc',
|
|
@@ -89,9 +90,9 @@ module PhusionPassenger
|
|
|
89
90
|
'rake',
|
|
90
91
|
'openssl-dev',
|
|
91
92
|
'zlib-dev',
|
|
92
|
-
'pcre2-dev'
|
|
93
|
+
'pcre2-dev',
|
|
93
94
|
].compact
|
|
94
|
-
|
|
95
|
+
[ specs, ids ]
|
|
95
96
|
end
|
|
96
97
|
|
|
97
98
|
def install_doc_url
|
|
@@ -232,7 +233,7 @@ module PhusionPassenger
|
|
|
232
233
|
tarball = "#{@working_dir}/#{basename}"
|
|
233
234
|
|
|
234
235
|
options = {
|
|
235
|
-
:
|
|
236
|
+
show_progress: @stdout.tty?,
|
|
236
237
|
}
|
|
237
238
|
if @connect_timeout && @connect_timeout != 0
|
|
238
239
|
options[:connect_timeout] = @connect_timeout
|
|
@@ -224,8 +224,8 @@ module PhusionPassenger
|
|
|
224
224
|
try_performing_full_admin_basic_auth(request, @instance)
|
|
225
225
|
request.content_type = "application/json"
|
|
226
226
|
request.body = PhusionPassenger::Utils::JSON.generate(
|
|
227
|
-
:
|
|
228
|
-
:
|
|
227
|
+
name: group_name,
|
|
228
|
+
restart_method: restart_method)
|
|
229
229
|
response = @instance.http_request("agents.s/core_api", request)
|
|
230
230
|
if response.code.to_i / 100 == 2
|
|
231
231
|
response.body
|
|
@@ -255,9 +255,9 @@ module PhusionPassenger
|
|
|
255
255
|
response = @instance.http_request("agents.s/core_api", request)
|
|
256
256
|
if response.code.to_i / 100 == 2
|
|
257
257
|
if RUBY_VERSION >= '2.3'
|
|
258
|
-
JSON.parse(response.body, symbolize_names: true).to_a.map{|(key,value)| {name: key.to_s, app_root: value.dig(:app_root,0
|
|
258
|
+
JSON.parse(response.body, symbolize_names: true).to_a.map { |(key, value)| { name: key.to_s, app_root: value.dig(:app_root, 0, :value) } }
|
|
259
259
|
else
|
|
260
|
-
JSON.parse(response.body, symbolize_names: true).to_a.map{|(key,value)| {name: key.to_s, app_root: value[:app_root][0][:value]}}
|
|
260
|
+
JSON.parse(response.body, symbolize_names: true).to_a.map { |(key, value)| { name: key.to_s, app_root: value[:app_root][0][:value] } }
|
|
261
261
|
end
|
|
262
262
|
elsif response.code.to_i == 401
|
|
263
263
|
if response["pool-empty"] == "true"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
+
|
|
2
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
3
4
|
# Copyright (c) 2017-2025 Asynchronous B.V.
|
|
4
5
|
#
|
|
@@ -41,14 +42,14 @@ module PhusionPassenger
|
|
|
41
42
|
network_interfaces = PlatformInfo.network_interfaces
|
|
42
43
|
default_network_interfaces = PlatformInfo.default_network_interfaces
|
|
43
44
|
puts PhusionPassenger::Utils::JSON.generate(
|
|
44
|
-
:
|
|
45
|
-
:
|
|
46
|
-
:
|
|
47
|
-
:
|
|
48
|
-
:
|
|
49
|
-
:
|
|
50
|
-
:
|
|
51
|
-
:
|
|
45
|
+
ipv4_addresses: ip_addresses(network_interfaces, :ipv4, default_network_interfaces),
|
|
46
|
+
ipv6_addresses: ip_addresses(network_interfaces, :ipv6, default_network_interfaces),
|
|
47
|
+
default_ipv4: default_ip(network_interfaces, :ipv4, default_network_interfaces),
|
|
48
|
+
default_ipv6: default_ip(network_interfaces, :ipv6, default_network_interfaces),
|
|
49
|
+
network_interfaces: network_interfaces,
|
|
50
|
+
hostname: Socket.gethostname,
|
|
51
|
+
fqdn: fqdn,
|
|
52
|
+
os: os
|
|
52
53
|
)
|
|
53
54
|
end
|
|
54
55
|
|
|
@@ -91,11 +92,11 @@ module PhusionPassenger
|
|
|
91
92
|
|
|
92
93
|
def os
|
|
93
94
|
{
|
|
94
|
-
:
|
|
95
|
-
:
|
|
96
|
-
:
|
|
97
|
-
:
|
|
98
|
-
:
|
|
95
|
+
simple_name: PlatformInfo.os_name_simple,
|
|
96
|
+
full_name: PlatformInfo.os_name_full,
|
|
97
|
+
version: PlatformInfo.os_version,
|
|
98
|
+
linux_distro: PlatformInfo.linux_distro,
|
|
99
|
+
linux_distro_tags: PlatformInfo.linux_distro_tags,
|
|
99
100
|
}
|
|
100
101
|
end
|
|
101
102
|
end
|
|
@@ -155,7 +155,7 @@ module PhusionPassenger
|
|
|
155
155
|
end
|
|
156
156
|
|
|
157
157
|
def is_enterprise?
|
|
158
|
-
|
|
158
|
+
defined?(PhusionPassenger::PASSENGER_IS_ENTERPRISE) && PhusionPassenger::PASSENGER_IS_ENTERPRISE
|
|
159
159
|
end
|
|
160
160
|
end
|
|
161
161
|
|