Fix mail handler failure for emails over 4MB on Rack >= 3.1.14 (#42962).

Patch by Go MAEDA (user:maeda).


git-svn-id: https://svn.redmine.org/redmine/trunk@23865 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2025-07-06 05:25:59 +00:00
parent bcf6352783
commit d5690a734f

View File

@@ -1,14 +1,19 @@
# frozen_string_literal: true
# Rack 3.1.14 or later limits query parameters to 4096 by default, which
# prevents saving workflows with many statuses.
# Setting RACK_QUERY_PARSER_PARAMS_LIMIT to 65536 allows handling up to
# approximately 100 statuses.
# Rack 3.1.14 or later sets default limits of 4MB for query string bytesize
# and 4096 for the number of query parameters. These limits are too low
# for Redmine and can cause the following issues:
#
# - The low bytesize limit prevents the mail handler from processing incoming
# emails larger than 4MB (https://www.redmine.org/issues/42962)
# - The low parameter limit prevents saving workflows with many statuses
# (https://www.redmine.org/issues/42875)
#
# See also:
# - https://www.redmine.org/issues/42875
# - https://github.com/rack/rack/blob/v3.1.16/README.md#configuration
# - https://github.com/rack/rack/blob/v3.1.16/lib/rack/query_parser.rb#L54
# - https://github.com/rack/rack/blob/v3.1.16/lib/rack/query_parser.rb#L57
ENV['RACK_QUERY_PARSER_BYTESIZE_LIMIT'] ||= '33554432'
ENV['RACK_QUERY_PARSER_PARAMS_LIMIT'] ||= '65536'
# Set up gems listed in the Gemfile.