passenger 6.1.2 → 6.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8b463432f9160f9b746009db0faf286890b2ea8bcf7d8aa0aab5746fb90ea5e
4
- data.tar.gz: 654da8b64ddfcd4da7f06bf437befd72a0a5646b778657c2ee7e6abc497426a7
3
+ metadata.gz: f8548c58c9ea83174fb896415cdf20c24832ae9f5063eab271614424719af501
4
+ data.tar.gz: 8272237fce37982de8d030844a0813d571b8dd6690df8d1426e96f7a3b3c5243
5
5
  SHA512:
6
- metadata.gz: 75af1cc0616d3b9250013dfbfec2093d0476620a54a826e7f234aca3542d5fae37cafc0143c79849ba24dd74cf4236b0d8104020656a14a372746eef569b853f
7
- data.tar.gz: 535252005eca991e2001dfdb5739494f2f67775e8090eb1e2edbe15e11dda6e486bf78d133a34ee858c0007c293e7ebf9bae70f2bbf289fe1df8a0ad9d89a465
6
+ metadata.gz: 6369fb4fd8364661a6291a627111b8c28979a351f42c5325be716c52fb06f4bcdf6d5097092d1821c3bb59b36758bea18f6ab70d7133c6c4dd5a2c7efd7b60b3
7
+ data.tar.gz: c46e8f69b09c01f8f496ae35aea5327bf7e55cd52dfd23e774e12a63c6424f8aa6d08bfee87e8df004f06badff8e713460da3d48c4174d991e62915b4d2d5616
data/CHANGELOG CHANGED
@@ -1,4 +1,32 @@
1
- Release 6.1.2 (Not yet released)
1
+ Release 6.1.3 (Not yet released)
2
+ -------------
3
+ * [Ubuntu] Add packages for Ubuntu 26.04 "resolute", remove packages for Ubuntu 25.10 "questing" and Ubuntu 20.04 "focal". Closes GH-2657.
4
+ * [Nginx] Build Nginx dynamic modules against nginx-dev sources on Ubuntu/Debian where available to fix Ubuntu's incompatibility with upstream.
5
+ * [Ruby] add support for `rack.response_finished`. Closes GH-2418.
6
+ * Fix crash when buffer creation fails.
7
+ * [Nginx] The preferred PCRE2 version is now 10.47 (previously 10.46).
8
+ * [Nginx] Upgrades preferred Nginx to 1.30.1 from 1.28.0.
9
+ * Updated various library versions used in precompiled binaries (used for e.g. gem installs):
10
+ - ccache: 4.12.2 -> 4.13.4
11
+ - cmake: 4.2.2 -> 4.3.2
12
+ - curl: 8.18.0 -> 8.20.0
13
+ - git: 2.52.0 -> 2.54.0
14
+ - gnupg: 2.5.16 -> 2.5.19
15
+ - libgcrypt: 1.11.2 -> 1.12.2
16
+ - libgpg_error: 1.58 -> 1.60
17
+ - libiconv: 1.18 -> 1.19
18
+ - libksba: 1.6.7 -> 1.6.8
19
+ - openssl: 3.6.0 -> 3.6.2
20
+ - rubygems: 4.0.4 -> 4.0.10
21
+ - zlib: 1.3.1 -> 1.3.2
22
+ - rubies:
23
+ - removed 3.2 for EOL
24
+ - 3.3.10 -> 3.3.11
25
+ - 3.4.8 -> 3.4.9
26
+ - 4.0.1 -> 4.0.3
27
+
28
+
29
+ Release 6.1.2
2
30
  -------------
3
31
  * [Ruby] logger is now a “bundled” but not “default” gem, so it must be added to gemspec. Closes GH-2642.
4
32
  * [Ruby] Fix Ruby < 2.3 support. Closes GH-2641.
@@ -25,14 +53,14 @@ Release 6.1.1
25
53
  - cmake: 4.0.0 -> 4.2.1
26
54
  - curl: 8.12.1 -> 8.17.0
27
55
  - git: 2.49.0 -> 2.52.0
28
- - gnupg:2.4.7 -> 2.4.8
29
- - libffi:3.4.7 -> 3.5.2
30
- - libgcrypt:1.11.0 -> 1.11.2
31
- - libgpg_error:1.51 -> 1.58
32
- - libreadline:8.2 -> 8.3
33
- - openssl:3.4.1 -> 3.6.0
34
- - pcre2:10.45 -> 10.47
35
- - pinentry:1.3.1 -> 1.3.2
56
+ - gnupg: 2.4.7 -> 2.4.8
57
+ - libffi: 3.4.7 -> 3.5.2
58
+ - libgcrypt: 1.11.0 -> 1.11.2
59
+ - libgpg_error: 1.51 -> 1.58
60
+ - libreadline: 8.2 -> 8.3
61
+ - openssl: 3.4.1 -> 3.6.0
62
+ - pcre2: 10.45 -> 10.47
63
+ - pinentry: 1.3.1 -> 1.3.2
36
64
  - rubygems: 3.6.6 -> 4.0.2
37
65
  - rubys:
38
66
  - dropped 3.1.7
@@ -632,7 +660,7 @@ Release 6.0.3
632
660
  * Fixed an incompatibility with sending requests to specific app instances, when using the rails web-console gem. Contributed by Mark R. James (@mrj).
633
661
  * Fixed a regression (introduced in 5.1.9) where some hooks were not called. Closes GH-2103. Contributed by Mark R. James (@mrj).
634
662
  * Fixes compilation with clang 8 (latest macOS update) by updating vendored boost library from 1.67 to 1.69.
635
- * Reverts a regression intruduced in 6.0.2 where Passenger would crash if it had to use the disk backed response cache. Closes GH-2189.
663
+ * Reverts a regression introduced in 6.0.2 where Passenger would crash if it had to use the disk backed response cache. Closes GH-2189.
636
664
  * [Nginx] Adds an option `passenger_buffer_upload` to allow buffering uploaded data in Passenger before forwarding it to the app. As a workaround for apps that cannot handle chunked data.
637
665
  * [Enterprise] When using deferred port binding, no longer binds port if all apps do not start up.
638
666
  * Updated various library versions used in precompiled binaries (used for e.g. gem installs):
@@ -57,8 +57,8 @@ This is codebase of the Passenger application server.
57
57
 
58
58
  ## Build system
59
59
 
60
- - Building agents: `drake -j4 nginx` (for concurrent building) or `rake nginx`
61
- - Building C++ test suite: `drake -j4 test:cxx:build` (for concurrent building) or `rake test:cxx:build`
60
+ - Building agents: `rake -m -j4 nginx` (for concurrent building) or `rake nginx`
61
+ - Building C++ test suite: `rake -m -j4 test:cxx:build` (for concurrent building) or `rake test:cxx:build`
62
62
 
63
63
  ## Special files
64
64
 
data/passenger.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.email = "software-signing@phusion.nl"
16
16
  s.require_paths = ["src/ruby_supportlib"]
17
17
  s.metadata = {
18
+ "rubygems_mfa_required" => "true",
18
19
  "bug_tracker_uri" => "https://github.com/phusion/passenger/issues",
19
20
  "changelog_uri" => "https://github.com/phusion/passenger/blob/stable-#{PhusionPassenger::VERSION_STRING.split('.').slice(0,2).join('.')}/CHANGELOG",
20
21
  "documentation_uri" => "https://www.phusionpassenger.com/docs/",
@@ -149,7 +149,7 @@ using namespace std;
149
149
  * security_update_checker_interval unsigned integer - default(86400)
150
150
  * security_update_checker_proxy_url string - -
151
151
  * security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
152
- * server_software string - default("Phusion_Passenger/6.1.2")
152
+ * server_software string - default("Phusion_Passenger/6.1.3")
153
153
  * show_version_in_header boolean - default(true)
154
154
  * single_app_mode_app_root string - default,read_only
155
155
  * single_app_mode_app_start_command string - read_only
@@ -118,7 +118,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
118
118
  * old_routing boolean - default(false),read_only
119
119
  * request_freelist_limit unsigned integer - default(1024)
120
120
  * response_buffer_high_watermark unsigned integer - default(134217728)
121
- * server_software string - default("Phusion_Passenger/6.1.2")
121
+ * server_software string - default("Phusion_Passenger/6.1.3")
122
122
  * show_version_in_header boolean - default(true)
123
123
  * start_reading_after_accept boolean - default(true)
124
124
  * stat_throttle_rate unsigned integer - default(10)
@@ -139,7 +139,7 @@ using namespace std;
139
139
  * security_update_checker_interval unsigned integer - default(86400)
140
140
  * security_update_checker_proxy_url string - -
141
141
  * security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
142
- * server_software string - default("Phusion_Passenger/6.1.2")
142
+ * server_software string - default("Phusion_Passenger/6.1.3")
143
143
  * setsid boolean - default(false)
144
144
  * show_version_in_header boolean - default(true)
145
145
  * single_app_mode_app_root string - default,read_only
@@ -84,7 +84,7 @@
84
84
  #define PASSENGER_API_VERSION_MAJOR 0
85
85
  #define PASSENGER_API_VERSION_MINOR 3
86
86
  #define PASSENGER_DEFAULT_USER "nobody"
87
- #define PASSENGER_VERSION "6.1.2"
87
+ #define PASSENGER_VERSION "6.1.3"
88
88
  #define POOL_HELPER_THREAD_STACK_SIZE 262144
89
89
  #define PROCESS_SHUTDOWN_TIMEOUT 60
90
90
  #define PROCESS_SHUTDOWN_TIMEOUT_DISPLAY "1 minute"
@@ -1224,8 +1224,10 @@ private:
1224
1224
  case RS_WAITING_FOR_CHANNEL_IDLE:
1225
1225
  break;
1226
1226
  case RS_READING_FROM_FILE:
1227
- inFileMode->readRequest->cancel();
1228
- inFileMode->readRequest = NULL;
1227
+ if (inFileMode->readRequest) {
1228
+ inFileMode->readRequest->cancel();
1229
+ inFileMode->readRequest = NULL;
1230
+ }
1229
1231
  break;
1230
1232
  case RS_INACTIVE:
1231
1233
  case RS_TERMINATED:
@@ -1241,8 +1243,10 @@ private:
1241
1243
  break;
1242
1244
  case WS_CREATING_FILE:
1243
1245
  case WS_MOVING:
1244
- inFileMode->writerRequest->cancel();
1245
- inFileMode->writerRequest = NULL;
1246
+ if (inFileMode->writerRequest) {
1247
+ inFileMode->writerRequest->cancel();
1248
+ inFileMode->writerRequest = NULL;
1249
+ }
1246
1250
  break;
1247
1251
  case WS_TERMINATED:
1248
1252
  return;
@@ -50,6 +50,7 @@ module PhusionPassenger
50
50
  RACK_URL_SCHEME = "rack.url_scheme" # :nodoc:
51
51
  RACK_HIJACK_P = "rack.hijack?" # :nodoc:
52
52
  RACK_HIJACK = "rack.hijack" # :nodoc:
53
+ RACK_RESPONSE_FINISHED = "rack.response_finished" # :nodoc:
53
54
  HTTP_VERSION = "HTTP_VERSION" # :nodoc:
54
55
  HTTP_1_1 = "HTTP/1.1" # :nodoc:
55
56
  SCRIPT_NAME = "SCRIPT_NAME" # :nodoc:
@@ -97,6 +98,7 @@ module PhusionPassenger
97
98
  connection
98
99
  end
99
100
  end
101
+ env[RACK_RESPONSE_FINISHED] = []
100
102
  env[HTTP_VERSION] = HTTP_1_1
101
103
 
102
104
  # Rails somehow modifies env['REQUEST_METHOD'], so we perform the comparison
@@ -115,6 +117,11 @@ module PhusionPassenger
115
117
  # forcing it to be respawned, and thereby effectively DoSing it.
116
118
  print_exception("Rack application object", e)
117
119
  end
120
+ env[RACK_RESPONSE_FINISHED].reverse_each do | cb |
121
+ cb.call(env, status, headers, e)
122
+ rescue => e
123
+ print_exception("Rack application object", e)
124
+ end
118
125
  return false
119
126
  end
120
127
 
@@ -166,6 +173,11 @@ module PhusionPassenger
166
173
  end
167
174
  ensure
168
175
  close_body(body, env, socket_wrapper)
176
+ env[RACK_RESPONSE_FINISHED].reverse_each do | cb |
177
+ cb.call(env, status, headers, nil)
178
+ rescue => e
179
+ print_exception("Rack application object", e)
180
+ end
169
181
  end
170
182
  false
171
183
  ensure
@@ -175,10 +187,6 @@ module PhusionPassenger
175
187
 
176
188
  private
177
189
  def process_body(env, connection, socket_wrapper, status, is_head_request, headers, body)
178
- if @ush_reporter
179
- ush_log_id = @ush_reporter.log_writing_rack_body_begin
180
- end
181
-
182
190
  # Fix up incompliant body objects. Ensure that the body object
183
191
  # can respond to #each.
184
192
  output_body = should_output_body?(status, is_head_request)
@@ -317,16 +325,9 @@ module PhusionPassenger
317
325
  end
318
326
 
319
327
  signal_keep_alive_allowed!
320
- ensure
321
- if @ush_reporter && ush_log_id
322
- @ush_reporter.log_writing_rack_body_end(ush_log_id)
323
- end
324
328
  end
325
329
 
326
330
  def close_body(body, env, socket_wrapper)
327
- if @ush_reporter
328
- ush_log_id = @ush_reporter.log_closing_rack_body_begin
329
- end
330
331
  begin
331
332
  body.close if body && body.respond_to?(:close)
332
333
  rescue => e
@@ -336,10 +337,6 @@ module PhusionPassenger
336
337
  if !should_swallow_app_error?(e, socket_wrapper)
337
338
  print_exception("Rack response body object's #close method", e)
338
339
  end
339
- ensure
340
- if @ush_reporter && ush_log_id
341
- @ush_reporter.log_closing_rack_body_end(ush_log_id)
342
- end
343
340
  end
344
341
  end
345
342
 
@@ -31,20 +31,20 @@ 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 = '6.1.2'
34
+ VERSION_STRING = '6.1.3'
35
35
 
36
36
  # Tip: find the SHA-256 with ./dev/nginx_version_sha256 <VERSION>
37
- PREFERRED_NGINX_VERSION = '1.28.0'
38
- NGINX_SHA256_CHECKSUM = 'c6b5c6b086c0df9d3ca3ff5e084c1d0ef909e6038279c71c1c3e985f576ff76a'
37
+ PREFERRED_NGINX_VERSION = '1.30.1'
38
+ NGINX_SHA256_CHECKSUM = '99765000d974896b31ca5882d8c279ce3fe7ef6f5c6f9f0a967ed7fd3407f9cc'
39
39
 
40
40
  # Packaging may be locked to an older version due to the specific module configuration being
41
41
  # incompatible with the version we prefer (latest stable).
42
- PACKAGING_PREFERRED_NGINX_VERSION = '1.28.0'
43
- PACKAGING_NGINX_SHA256_CHECKSUM = 'c6b5c6b086c0df9d3ca3ff5e084c1d0ef909e6038279c71c1c3e985f576ff76a'
42
+ PACKAGING_PREFERRED_NGINX_VERSION = '1.30.1'
43
+ PACKAGING_NGINX_SHA256_CHECKSUM = '99765000d974896b31ca5882d8c279ce3fe7ef6f5c6f9f0a967ed7fd3407f9cc'
44
44
 
45
45
  # sha256sum of the .tar.gz
46
- PREFERRED_PCRE_VERSION = '10.46'
47
- PCRE_SHA256_CHECKSUM = '8d28d7f2c3b970c3a4bf3776bcbb5adfc923183ce74bc8df1ebaad8c1985bd07'
46
+ PREFERRED_PCRE_VERSION = '10.47'
47
+ PCRE_SHA256_CHECKSUM = 'c08ae2388ef333e8403e670ad70c0a11f1eed021fd88308d7e02f596fcd9dc16'
48
48
 
49
49
  STANDALONE_INTERFACE_VERSION = 1
50
50
 
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: 6.1.2
4
+ version: 6.1.3
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: 2026-01-28 00:00:00.000000000 Z
11
+ date: 2026-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -4322,6 +4322,7 @@ files:
4322
4322
  homepage: https://www.phusionpassenger.com/
4323
4323
  licenses: []
4324
4324
  metadata:
4325
+ rubygems_mfa_required: 'true'
4325
4326
  bug_tracker_uri: https://github.com/phusion/passenger/issues
4326
4327
  changelog_uri: https://github.com/phusion/passenger/blob/stable-6.1/CHANGELOG
4327
4328
  documentation_uri: https://www.phusionpassenger.com/docs/