mirror of https://github.com/rails/rails
Merge branch '4-1-5' into 4-1-stable
Conflicts: actionmailer/CHANGELOG.md actionview/CHANGELOG.md activerecord/CHANGELOG.md activesupport/CHANGELOG.md railties/CHANGELOG.md
This commit is contained in:
commit
9c297ce936
|
@ -1 +1 @@
|
|||
4.1.4
|
||||
4.1.5
|
||||
|
|
|
@ -13,6 +13,11 @@
|
|||
*Yves Senn*
|
||||
|
||||
|
||||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActionMailer
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActionPack
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -16,6 +16,11 @@
|
|||
*Jiri Pospisil*
|
||||
|
||||
|
||||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActionView
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -23,5 +23,6 @@ module ActiveModel
|
|||
attributes
|
||||
end
|
||||
end
|
||||
alias :sanitize_forbidden_attributes :sanitize_for_mass_assignment
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActiveModel
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -157,6 +157,11 @@
|
|||
*Arun Agrawal*
|
||||
|
||||
|
||||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* Fix regression added from the latest security fix.
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActiveRecord
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
require 'active_support/core_ext/array/wrap'
|
||||
require 'active_model/forbidden_attributes_protection'
|
||||
|
||||
module ActiveRecord
|
||||
module QueryMethods
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
include ActiveModel::ForbiddenAttributesProtection
|
||||
|
||||
# WhereChain objects act as placeholder for queries in which #where does not have any parameter.
|
||||
# In this case, #where must be chained with #not to return a new relation.
|
||||
class WhereChain
|
||||
|
@ -561,7 +564,10 @@ module ActiveRecord
|
|||
if opts == :chain
|
||||
WhereChain.new(self)
|
||||
else
|
||||
references!(PredicateBuilder.references(opts)) if Hash === opts
|
||||
if Hash === opts
|
||||
opts = sanitize_forbidden_attributes(opts)
|
||||
references!(PredicateBuilder.references(opts))
|
||||
end
|
||||
|
||||
self.where_values += build_where(opts, rest)
|
||||
self
|
||||
|
@ -711,7 +717,13 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
def create_with!(value) # :nodoc:
|
||||
self.create_with_value = value ? create_with_value.merge(value) : {}
|
||||
if value
|
||||
value = sanitize_forbidden_attributes(value)
|
||||
self.create_with_value = create_with_value.merge(value)
|
||||
else
|
||||
self.create_with_value = {}
|
||||
end
|
||||
|
||||
self
|
||||
end
|
||||
|
||||
|
|
|
@ -66,4 +66,34 @@ class ForbiddenAttributesProtectionTest < ActiveRecord::TestCase
|
|||
person = Person.new
|
||||
assert_nil person.assign_attributes(ProtectedParams.new({}))
|
||||
end
|
||||
|
||||
def test_create_with_checks_permitted
|
||||
params = ProtectedParams.new(first_name: 'Guille', gender: 'm')
|
||||
|
||||
assert_raises(ActiveModel::ForbiddenAttributesError) do
|
||||
Person.create_with(params).create!
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_with_works_with_params_values
|
||||
params = ProtectedParams.new(first_name: 'Guille')
|
||||
|
||||
person = Person.create_with(first_name: params[:first_name]).create!
|
||||
assert_equal 'Guille', person.first_name
|
||||
end
|
||||
|
||||
def test_where_checks_permitted
|
||||
params = ProtectedParams.new(first_name: 'Guille', gender: 'm')
|
||||
|
||||
assert_raises(ActiveModel::ForbiddenAttributesError) do
|
||||
Person.where(params).create!
|
||||
end
|
||||
end
|
||||
|
||||
def test_where_works_with_params_values
|
||||
params = ProtectedParams.new(first_name: 'Guille')
|
||||
|
||||
person = Person.where(first_name: params[:first_name]).create!
|
||||
assert_equal 'Guille', person.first_name
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,6 +27,11 @@
|
|||
*Juanjo Bazán*
|
||||
|
||||
|
||||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -7,7 +7,7 @@ module ActiveSupport
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -13,6 +13,15 @@
|
|||
*Yves Senn*, *Carlos Antonio da Silva*, *Robin Dupret*
|
||||
|
||||
|
||||
## Rails 4.1.5 (August 18, 2014) ##
|
||||
|
||||
* Check attributes passed to `create_with` and `where`.
|
||||
|
||||
Fixes CVE-2014-3514.
|
||||
|
||||
*Rafael Mendonça França*
|
||||
|
||||
|
||||
## Rails 4.1.4 (July 2, 2014) ##
|
||||
|
||||
* No changes.
|
||||
|
|
|
@ -7,7 +7,7 @@ module Rails
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
|
@ -7,7 +7,7 @@ module Rails
|
|||
module VERSION
|
||||
MAJOR = 4
|
||||
MINOR = 1
|
||||
TINY = 4
|
||||
TINY = 5
|
||||
PRE = nil
|
||||
|
||||
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
||||
|
|
Loading…
Reference in New Issue