<div dir="ltr"><div style>hi,<br></div><div><br></div><div><div>> So, reassigning to rack, I guess this simple small fix can go</div><div>> via stable updates.</div><div>> </div><div>> O.</div><div>> </div><div>
> 2012/1/15 Jérémy Lal <<a href="mailto:jerry@edagames.com">jerry@edagames.com</a>>:</div><div>> > Hi,</div><div>> > <a href="https://github.com/chneukirchen/rack/commit/6fa19e3a268c">https://github.com/chneukirchen/rack/commit/6fa19e3a268c</a></div>
<div>> ></div><div>> > is a simple patch that fixes the issue, and is probably</div><div>> > the cause of the 1.1.1 release...</div></div><div><br></div><div style>I've prepared this small patch for librack-ruby-1.1.0-4.</div>
<div style>It's assumed to be applied after fixing pending security bugs. (#698440, #700226)</div><div><br></div><div style>debdiff as follows:</div><div style><br></div><div>--</div><div><div>diff -u librack-ruby-1.1.0/debian/changelog librack-ruby-1.1.0/debian/changelog</div>
<div>--- librack-ruby-1.1.0/debian/changelog</div><div>+++ librack-ruby-1.1.0/debian/changelog</div><div>@@ -1,3 +1,10 @@</div><div>+librack-ruby (1.1.0-4.1+squeeze2) stable; urgency=medium</div><div>+</div><div>+  * Non Maintainer Upload.</div>
<div>+  * Remove parsing of quoted values. (Closes: 655896)</div><div>+</div><div>+ -- KURASHIKI Satoru <<a href="mailto:lurdan@gmail.com">lurdan@gmail.com</a>>  Sat, 13 Apr 2013 20:35:25 +0000</div><div>+</div><div>
 librack-ruby (1.1.0-4.1+squeeze1) stable-security; urgency=high</div><div> </div><div>   * Non Maintainer Upload.</div><div>only in patch2:</div><div>unchanged:</div><div>--- librack-ruby-1.1.0.orig/debian/patches/0003-Remove-parsing-of-quoted-values.patch</div>
<div>+++ librack-ruby-1.1.0/debian/patches/0003-Remove-parsing-of-quoted-values.patch</div><div>@@ -0,0 +1,42 @@</div><div>+--- a/lib/rack/utils.rb        2013-04-13 20:25:45.005940347 +0000</div><div>++++ b/lib/rack/utils.rb        2013-04-13 20:26:21.696277220 +0000</div>
<div>+@@ -38,9 +38,6 @@</div><div>+ </div><div>+       (qs || '').split(d ? /[#{d}] */n : DEFAULT_SEP).each do |p|</div><div>+         k, v = p.split('=', 2).map { |x| unescape(x) }</div><div>+-        if v =~ /^("|')(.*)\1$/</div>
<div>+-          v = $2.gsub('\\'+$1, $1)</div><div>+-        end</div><div>+         if cur = params[k]</div><div>+           if cur.class == Array</div><div>+             params[k] << v</div><div>+@@ -69,9 +66,6 @@</div>
<div>+     module_function :parse_nested_query</div><div>+ </div><div>+     def normalize_params(params, name, v = nil)</div><div>+-      if v and v =~ /^("|')(.*)\1$/</div><div>+-        v = $2.gsub('\\'+$1, $1)</div>
<div>+-      end</div><div>+       name =~ %r(\A[\[\]]*([^\[\]]+)\]*)</div><div>+       k = $1 || ''</div><div>+       after = $' || ''</div><div>+--- a/test/spec_rack_utils.rb  2013-04-13 20:27:41.540708117 +0000</div>
</div><div><div>++++ b/test/spec_rack_utils.rb  2013-04-13 20:28:39.332709491 +0000</div><div>+@@ -33,7 +33,7 @@</div><div>+     Rack::Utils.parse_query("foo=bar").</div><div>+       should.equal "foo" => "bar"</div>
<div>+     Rack::Utils.parse_query("foo=\"bar\"").</div><div>+-      should.equal "foo" => "bar"</div><div>++      should.equal "foo" => "\"bar\""</div>
<div>+     Rack::Utils.parse_query("foo=bar&foo=quux").</div><div>+       should.equal "foo" => ["bar", "quux"]</div><div>+     Rack::Utils.parse_query("foo=1&bar=2").</div>
<div>+@@ -51,7 +51,7 @@</div><div>+     Rack::Utils.parse_nested_query("foo=bar").</div><div>+       should.equal "foo" => "bar"</div><div>+     Rack::Utils.parse_nested_query("foo=\"bar\"").</div>
<div>+-      should.equal "foo" => "bar"</div><div>++      should.equal "foo" => "\"bar\""</div><div>+ </div><div>+     Rack::Utils.parse_nested_query("foo=bar&foo=quux").</div>
<div>+       should.equal "foo" => "quux"</div></div><div><br></div><div style>regards,</div>-- <br>KURASHIKI Satoru
</div>