2018/12/18分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Allow using
parsed_body
inActionController::TestCase
. - Introduce ActionDispatch::HostAuthorization
- Allow nil params on controller HTTP test methods
Merge pull request #34717 from tbuehlmann/controller-test-parsed-body
actionpack/lib/action_dispatch/testing/test_response.rb
の修正です。
ActionController::TestCase
でparsed_body
メソッドを使用した場合に、結果が正しい値になっていなかった(メソッドは呼べるがリクエストがjsonの場合に結果がjsonにならない)のを、content typeに合わせたparse結果を返すよう修正しています。
Merge pull request #33145 from gsamokovarov/host-authorization
Action Pack、railtiesの修正です。
DNS Rebinding攻撃やHost
header攻撃からの対策の仕組みとして、新規にActionDispatch::HostAuthorization
というmiddlewareを追加しています。
ActionDispatch::HostAuthorization
はホワイトリストでホストを認証する為のmiddlewareで、リストにホストが登録されている場合、そのホスト以外へのリクエストはエラーになるようになっています。
デフォルトではdevelopment環境にのみ値(IPAddr.new("0.0.0.0/0")
、IPAddr.new("::/0")
、localhost
)が指定されており、その他の環境では空(チェックが行われない状態)になっています。
ホストを追加したい場合は、Rails.application.config.hosts
に値を指定する(e.g. Rails.application.config.hosts << "product.com"
)事が出来ます。
actionview/lib/action_view/rendering.rb
のdocの修正です。
ActionView::Rendering#view_context
メソッドのdoc内で、フォーマットが崩れてしまっている箇所があったのを修正しています。
Fix View.new
method call with arguments syntax
actionview/lib/action_view/rendering.rb
のdocの修正です。
ActionView::Rendering#view_context
メソッドのdoc内のexampleコードで、引数の指定方法に誤りがある箇所があったのを修正しています。
Add test case for ce48b5a366482d4b4c4c053e1e39e79d71987197
activerecord/test/cases/validations_test.rb
の修正です。
Prevent infinit method_missing loop on attribute methodsで対応された、validates_acceptance_of
+ undefine_attribute_methods
を使用した場合のテストを追加しています。
Allow nil params on controller HTTP test methods
actionpack/lib/action_controller/test_case.rb
の修正です。
Rails 5.1以降、get
、post
等のhttpシミュレーション用のメソッドのparams
引数に、nil
が指定出来なくなっていた(指定した場合NoMethodError
が発生していた)のを、指定出来るよう修正しています。