2018/12/18分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Allow using
parsed_bodyinActionController::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が発生していた)のを、指定出来るよう修正しています。