0

envirment:

 passenger 5.0.0
 apache:2.4.6
 passengerbufferupload off

Error:

when put file with transfer-encoder:chunked by http request, can't get file content from apache.

apache error log: App 22178 stderr: [ 2018-06-13 10:17:35.9345 22203/0x0055710edcfa58(Worker 1) request_handler/thread_handler.rb:219 ]: *** Passenger RequestHandler warning: HTTP header size exceeded maximum.

Investigate

I confirmed the transfer-encoder header in the passenger by print log. the transfer-encoder header is HTTP_TRANSFER_ENCODING:CHUNKED.

I confirmed the source of passenger, too. In the source, when get transfer-encoder header, it used 'TRANSFER_ENCODING'. so, can not get transfer-encoder header.

source:

phusion_passenger/utils/tee_input.rb
     class TeeInput
                   CONTENT_LENGTH = "CONTENT_LENGTH".freeze
                   TRANSFER_ENCODING = "TRANSFER_ENCODING".freeze
 phusion_passenger/request_handler/thread_handler.rb
                   TRANSFER_ENCODING = 'TRANSFER_ENCODING'.freeze

I also confirmed the source commit history. from 4.0.60 to 5.0.0, modify the above sources.(from TRANSFER_ENCODING = "HTTP_TRANSFER_ENCODING".freeze to TRANSFER_ENCODING = "TRANSFER_ENCODING".freeze)

commit log:
https://github.com/phusion/passenger/commit/0766bb303ad8009c6061206f3aafe231c4f1c3ff  ⇒tee_input.rb
https://github.com/phusion/passenger/commit/eee48f95fd9db0fb5b24458f9fb0b84a25acc6ae  ⇒thread_handler.rb

question:

1.I want to know the reason of the modify.

2.this is an issue or not?

lijingjie
  • 1
  • 1

1 Answers1

0

Passenger author here. This has been confirmed to be Passenger bug. Please see https://github.com/phusion/passenger/issues/2102.

Hongli
  • 18,682
  • 15
  • 79
  • 107