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.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +6 -1
  3. data/Rakefile +1 -1
  4. data/build/agent.rb +15 -15
  5. data/build/apache2.rb +18 -18
  6. data/build/basics.rb +1 -1
  7. data/build/common_library.rb +21 -20
  8. data/build/cxx_tests.rb +19 -19
  9. data/build/integration_tests.rb +3 -3
  10. data/build/misc.rb +10 -9
  11. data/build/nginx.rb +12 -12
  12. data/build/oxt_tests.rb +7 -7
  13. data/build/packaging.rb +11 -11
  14. data/build/ruby_extension.rb +3 -3
  15. data/build/ruby_tests.rb +1 -1
  16. data/build/schema_printer.rb +13 -13
  17. data/build/support/cplusplus.rb +8 -8
  18. data/build/support/cxx_dependency_map.rb +622 -622
  19. data/build/support/general.rb +0 -1
  20. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +4 -4
  21. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  22. data/build/test_basics.rb +4 -4
  23. data/dev/colorize-logs +6 -6
  24. data/dev/copy_boost_headers +8 -8
  25. data/dev/index_cxx_dependencies.rb +6 -6
  26. data/dev/install_scripts_bootstrap_code.rb +4 -4
  27. data/dev/list_tests +2 -2
  28. data/dev/nginx_version_sha256 +2 -2
  29. data/dev/parse_file_descriptor_log +1 -1
  30. data/passenger.gemspec +4 -4
  31. data/src/agent/Core/Config.h +1 -1
  32. data/src/agent/Core/Controller/Config.h +1 -1
  33. data/src/agent/Watchdog/Config.h +1 -1
  34. data/src/cxx_supportlib/Constants.h +1 -1
  35. data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
  36. data/src/helper-scripts/download_binaries/extconf.rb +8 -8
  37. data/src/helper-scripts/meteor-loader.rb +39 -39
  38. data/src/helper-scripts/rack-loader.rb +1 -0
  39. data/src/helper-scripts/rack-preloader.rb +2 -1
  40. data/src/ruby_native_extension/extconf.rb +27 -28
  41. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +27 -27
  42. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +5 -4
  43. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +9 -8
  44. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +24 -24
  45. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +5 -5
  46. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +526 -526
  47. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
  48. data/src/ruby_supportlib/phusion_passenger/common_library.rb +105 -105
  49. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +5 -5
  50. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +7 -6
  51. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  52. data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
  53. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
  54. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +5 -5
  55. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
  56. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +17 -17
  57. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +18 -18
  58. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +10 -10
  59. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -12
  60. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +24 -23
  61. data/src/ruby_supportlib/phusion_passenger/config/main.rb +26 -26
  62. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -4
  63. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
  64. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -4
  65. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +14 -13
  66. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
  67. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +34 -33
  68. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
  69. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
  70. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +35 -36
  71. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +17 -16
  72. data/src/ruby_supportlib/phusion_passenger/message_client.rb +5 -4
  73. data/src/ruby_supportlib/phusion_passenger/native_support.rb +42 -42
  74. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +548 -548
  75. data/src/ruby_supportlib/phusion_passenger/packaging.rb +6 -6
  76. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +85 -84
  77. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +13 -13
  78. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +5 -5
  79. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +65 -65
  80. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +6 -6
  81. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -5
  82. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -10
  83. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -5
  84. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -7
  85. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
  86. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +7 -7
  87. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +1 -1
  88. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +14 -13
  89. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +27 -26
  90. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +16 -16
  91. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
  92. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +29 -28
  93. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
  94. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +37 -36
  95. data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -3
  96. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +16 -15
  97. data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
  98. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
  99. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +5 -4
  100. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +8 -7
  101. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +9 -11
  102. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +27 -26
  103. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +6 -5
  104. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +7 -6
  105. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +13 -13
  106. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
  107. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +351 -351
  108. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +11 -11
  109. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -14
  110. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +21 -23
  111. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -4
  112. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +5 -5
  113. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -6
  114. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
  115. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +12 -11
  116. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +9 -9
  117. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +8 -7
  118. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -6
  119. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -4
  120. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
  121. data/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb +1 -1
  122. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -0
  123. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +1 -0
  124. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +13 -12
  125. data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -3
  126. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +7 -7
  127. data/src/ruby_supportlib/phusion_passenger/utils.rb +17 -16
  128. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -0
  129. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -2
  130. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -1
  131. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +3 -2
  132. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +13 -13
  133. data/src/ruby_supportlib/phusion_passenger.rb +23 -22
  134. metadata +2 -2
@@ -1,4 +1,5 @@
1
1
  # encoding: binary
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2010-2025 Asynchronous B.V.
4
5
  #
@@ -39,14 +40,14 @@ class IO
39
40
  #
40
41
  # io.writev(["hello ", "world", "\n"])
41
42
  def writev(components)
42
- return PhusionPassenger::NativeSupport.writev(fileno, components)
43
+ PhusionPassenger::NativeSupport.writev(fileno, components)
43
44
  end
44
45
 
45
46
  # Like #writev, but accepts two arrays. The data is written in the given order.
46
47
  #
47
48
  # io.writev2(["hello ", "world", "\n"], ["another ", "message\n"])
48
49
  def writev2(components, components2)
49
- return PhusionPassenger::NativeSupport.writev2(fileno,
50
+ PhusionPassenger::NativeSupport.writev2(fileno,
50
51
  components, components2)
51
52
  end
52
53
 
@@ -56,22 +57,22 @@ class IO
56
57
  # ["another ", "message\n"],
57
58
  # ["yet ", "another ", "one", "\n"])
58
59
  def writev3(components, components2, components3)
59
- return PhusionPassenger::NativeSupport.writev3(fileno,
60
+ PhusionPassenger::NativeSupport.writev3(fileno,
60
61
  components, components2, components3)
61
62
  end
62
63
  else
63
64
  def writev(components)
64
- return write(components.pack('a*' * components.size))
65
+ write(components.pack('a*' * components.size))
65
66
  end
66
67
 
67
68
  def writev2(components, components2)
68
69
  joined = components + components2
69
- return write(joined.pack('a*' * joined.size))
70
+ write(joined.pack('a*' * joined.size))
70
71
  end
71
72
 
72
73
  def writev3(components, components2, components3)
73
74
  joined = components + components2 + components3
74
- return write(joined.pack('a*' * joined.size))
75
+ write(joined.pack('a*' * joined.size))
75
76
  end
76
77
  end
77
78
 
@@ -34,10 +34,10 @@ module PhusionPassenger
34
34
  "config.ru",
35
35
  "passenger_wsgi.py",
36
36
  "app.js",
37
- ".meteor"
37
+ ".meteor",
38
38
  ]
39
39
  WATCH_ENTRIES = [
40
- "config", "Passengerfile.json", "passenger-standalone.json"
40
+ "config", "Passengerfile.json", "passenger-standalone.json",
41
41
  ]
42
42
 
43
43
  attr_accessor :dirs
@@ -61,8 +61,8 @@ module PhusionPassenger
61
61
  if single_mode?
62
62
  app_root = find_app_root
63
63
  apps << {
64
- :server_names => ["_"],
65
- :root => app_root
64
+ server_names: [ "_" ],
65
+ root: app_root,
66
66
  }
67
67
  watchlist << app_root
68
68
  WATCH_ENTRIES.each do |entry|
@@ -78,7 +78,7 @@ module PhusionPassenger
78
78
 
79
79
  @apps = apps
80
80
  @watchlist = watchlist
81
- return apps
81
+ apps
82
82
  end
83
83
 
84
84
  def monitor(termination_pipe)
@@ -120,14 +120,14 @@ module PhusionPassenger
120
120
  end
121
121
 
122
122
  def single_mode?
123
- return @mode == :single
123
+ @mode == :single
124
124
  end
125
125
 
126
126
  def multi_mode?
127
- return !single_mode?
127
+ !single_mode?
128
128
  end
129
129
 
130
- ##################
130
+ ##################
131
131
 
132
132
  private
133
133
  class ConfigLoadError < StandardError
@@ -135,9 +135,9 @@ module PhusionPassenger
135
135
 
136
136
  def find_app_root
137
137
  if @dirs.empty?
138
- return File.absolute_logical_path(".")
138
+ File.absolute_logical_path(".")
139
139
  else
140
- return File.absolute_logical_path(@dirs[0])
140
+ File.absolute_logical_path(@dirs[0])
141
141
  end
142
142
  end
143
143
 
@@ -158,18 +158,18 @@ module PhusionPassenger
158
158
 
159
159
  def filename_to_server_names(filename)
160
160
  basename = File.basename(filename)
161
- names = [basename]
161
+ names = [ basename ]
162
162
  if basename !~ /^www\.$/i
163
163
  names << "www.#{basename}"
164
164
  end
165
- return names
165
+ names
166
166
  end
167
167
 
168
168
  # Wait until the given IO becomes readable, or until the timeout has
169
169
  # been reached. Returns true if the IO became readable, false if the
170
170
  # timeout has been reached.
171
171
  def wait_on_io(io, timeout)
172
- return !!select([io], nil, nil, timeout)
172
+ !!select([ io ], nil, nil, timeout)
173
173
  end
174
174
 
175
175
  def determine_mode_and_execution_root(options, local_options)
@@ -33,7 +33,7 @@ module PhusionPassenger
33
33
 
34
34
  private
35
35
  def self.create_default_options
36
- return {}
36
+ {}
37
37
  end
38
38
 
39
39
  def parse_options