commit rubygem-actionpack-2_3 for openSUSE:12.2
![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package rubygem-actionpack-2_3 for openSUSE:12.2 checked in at 2012-08-09 17:55:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.2/rubygem-actionpack-2_3 (Old) and /work/SRC/openSUSE:12.2/.rubygem-actionpack-2_3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "rubygem-actionpack-2_3", Maintainer is "MRueckert@suse.com" Changes: -------- --- /work/SRC/openSUSE:12.2/rubygem-actionpack-2_3/rubygem-actionpack-2_3.changes 2012-06-25 15:52:12.000000000 +0200 +++ /work/SRC/openSUSE:12.2/.rubygem-actionpack-2_3.new/rubygem-actionpack-2_3.changes 2012-08-09 17:56:09.000000000 +0200 @@ -1,0 +2,8 @@ +Wed Jul 18 14:57:18 UTC 2012 - mrueckert@suse.de + +- added 2 patches to fix security issues: + 2-3-null_param.patch (CVE-2012-2660) (bnc#765097) + 2-3-null_array_param.patch (CVE-2012-2694) (bnc#766791) +- track series file from quilt for easier handling + +------------------------------------------------------------------- New: ---- 2-3-null_array_param.patch 2-3-null_param.patch series ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-actionpack-2_3.spec ++++++ --- /var/tmp/diff_new_pack.HmidGq/_old 2012-08-09 17:56:09.000000000 +0200 +++ /var/tmp/diff_new_pack.HmidGq/_new 2012-08-09 17:56:09.000000000 +0200 @@ -39,6 +39,9 @@ # Url: http://rubyforge.org/projects/actionpack Source: %{mod_full_name}.gem +Source99: series +Patch0: 2-3-null_param.patch +Patch1: 2-3-null_array_param.patch # Summary: Web-flow and rendering framework putting the VC in MVC %description @@ -66,6 +69,10 @@ %install %gem_install %{S:0} find %{buildroot}%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_name}-%{version}/ -name \*\~ -print -delete +pushd %{buildroot}%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/ +patch -p0 < %{P:0} +patch -p0 < %{P:1} +popd %clean %{__rm} -rf %{buildroot} ++++++ 2-3-null_array_param.patch ++++++ Index: lib/action_controller/request.rb =================================================================== --- lib/action_controller/request.rb.orig 2012-07-18 16:28:20.433076369 +0200 +++ lib/action_controller/request.rb 2012-07-18 16:29:56.813242333 +0200 @@ -495,17 +495,19 @@ EOM # Remove nils from the params hash def deep_munge(hash) + keys = hash.keys.find_all { |k| hash[k] == [nil] } + keys.each { |k| hash[k] = nil } + hash.each_value do |v| case v when Array v.grep(Hash) { |x| deep_munge(x) } + v.compact! when Hash deep_munge(v) end end - keys = hash.keys.find_all { |k| hash[k] == [nil] } - keys.each { |k| hash[k] = nil } hash end Index: test/controller/request/query_string_parsing_test.rb =================================================================== --- test/controller/request/query_string_parsing_test.rb.orig 2012-07-18 16:28:20.436077868 +0200 +++ test/controller/request/query_string_parsing_test.rb 2012-07-18 16:32:20.072439141 +0200 @@ -89,6 +89,10 @@ class QueryStringParsingTest < ActionCon assert_parses({"action"=>{"foo"=>[{"bar"=>nil}]}}, "action[foo][][bar]") end + def test_array_parses_without_nil + assert_parses({"action" => ['1']}, "action[]=1&action[]") + end + test "query string with empty key" do assert_parses( { "action" => "create_customer", "full_name" => "David Heinemeier Hansson" }, ++++++ 2-3-null_param.patch ++++++ Index: lib/action_controller/request.rb =================================================================== --- lib/action_controller/request.rb.orig 2012-07-17 18:40:44.473685229 +0200 +++ lib/action_controller/request.rb 2012-07-18 15:56:37.275926093 +0200 @@ -491,5 +491,26 @@ EOM value end end + protected + + # Remove nils from the params hash + def deep_munge(hash) + hash.each_value do |v| + case v + when Array + v.grep(Hash) { |x| deep_munge(x) } + when Hash + deep_munge(v) + end + end + + keys = hash.keys.find_all { |k| hash[k] == [nil] } + keys.each { |k| hash[k] = nil } + hash + end + + def parse_query(qs) + deep_munge(super) + end end end Index: test/controller/request/query_string_parsing_test.rb =================================================================== --- test/controller/request/query_string_parsing_test.rb.orig 2012-07-17 18:40:44.537685229 +0200 +++ test/controller/request/query_string_parsing_test.rb 2012-07-18 15:56:04.470818058 +0200 @@ -81,7 +81,12 @@ class QueryStringParsingTest < ActionCon end test "query string without equal" do - assert_parses({ "action" => nil }, "action") + assert_parses({"action" => nil}, "action") + assert_parses({"action" => {"foo" => nil}}, "action[foo]") + assert_parses({"action" => {"foo" => { "bar" => nil }}}, "action[foo][bar]") + assert_parses({"action" => {"foo" => { "bar" => nil }}}, "action[foo][bar][]") + assert_parses({"action" => {"foo" => nil}}, "action[foo][]") + assert_parses({"action"=>{"foo"=>[{"bar"=>nil}]}}, "action[foo][][bar]") end test "query string with empty key" do ++++++ series ++++++ 2-3-null_param.patch -p0 2-3-null_array_param.patch -p0 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de