diff options
author | Go MAEDA <maeda@farend.jp> | 2025-07-06 05:25:59 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2025-07-06 05:25:59 +0000 |
commit | d5690a734fc62d19ab74ceeb785118d80909b065 (patch) | |
tree | d2b0d92bcb0b9e49d10a34658728153da8557768 | |
parent | bcf635278377e6f670b43e8d4f550e2e1faee216 (diff) | |
download | redmine-d5690a734fc62d19ab74ceeb785118d80909b065.tar.gz redmine-d5690a734fc62d19ab74ceeb785118d80909b065.zip |
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
-rw-r--r-- | config/boot.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/config/boot.rb b/config/boot.rb index 72ea699a5..e7d68c4ad 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -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. |