diff --git a/CHANGELOG b/CHANGELOG index d5e7046f38..9e2276571f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,8 @@ Release 6.0.2 (Not released yet) * Allow compilation to work when Apple messed up their system ruby headers. * Only try to read pid 1's /proc files as root, in container detection. Closes GH-2168. * Add an option to disable prefixing application logs with "App PID stdout": `PassengerDisableLogPrefix` (Apache) / `passenger_disable_log_prefix` (Nginx). Closes GH-1915 + * Made Passenger more resiliant to Rack bugs. Closes GH-2150. + Release 6.0.1 ------------- diff --git a/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb b/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb index 41b6f10243..51b6c772d0 100644 --- a/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +++ b/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb @@ -191,6 +191,12 @@ def each self # Rack does not specify what the return value is here end + # Rack repeatedly introduces bugs that rely on this method existing + # https://github.com/rack/rack/pull/1201 + def eof? + socket_drained? + end + private def socket_drained?