summary refs log tree commit
diff options
context:
space:
mode:
authorBosko Milekic <bmilekic@tesla.(none)>2009-11-05 16:00:10 -0500
committerJoshua Peek <josh@joshpeek.com>2009-12-10 21:28:10 -0600
commit0a90548942409e6d8166a4fb636c30045273a541 (patch)
tree4277f81b099c458571ec8311782149b2c4fb8a37
parentd4906ef283949d9fe656bd869f46e2c72b401bf8 (diff)
downloadrack-0a90548942409e6d8166a4fb636c30045273a541.tar.gz
Introduce failing test case for multipart parser when it slices exactly on a boundary and patch multipart parser so it passes it - the failing test case comes with a sample payload specific to the fact that the default bufsize used by the multipart parser is exactly 16384. should this default be changed, the test will no longer apply.
-rw-r--r--lib/rack/utils.rb3
-rw-r--r--test/multipart/fail_16384_nofile814
-rw-r--r--test/spec_rack_utils.rb19
3 files changed, 836 insertions, 0 deletions
diff --git a/lib/rack/utils.rb b/lib/rack/utils.rb
index 05c7734f..606e0cd5 100644
--- a/lib/rack/utils.rb
+++ b/lib/rack/utils.rb
@@ -482,6 +482,9 @@ module Rack
               body << buf.slice!(0, i)
               buf.slice!(0, boundary_size+2)
 
+              # If sliced exactly at boundary, let's move:
+              next if buf.empty? && ($1 == EOL)
+
               content_length = -1  if $1 == "--"
             end
 
diff --git a/test/multipart/fail_16384_nofile b/test/multipart/fail_16384_nofile
new file mode 100644
index 00000000..bdcd3320
--- /dev/null
+++ b/test/multipart/fail_16384_nofile
@@ -0,0 +1,814 @@
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="_method"
+
+put
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="authenticity_token"
+
+XCUgSyYsZ+iHQunq/yCSKFzjeVmsXV/WcphHQ0J+05I=
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[SESE]"
+
+BooBar
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[BBBBBBBBB]"
+
+18
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[CCCCCCCCCCCCCCCCCCC]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[STARTFOO]"
+
+2009-11-04
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[ENDFOO]"
+
+2009-12-01
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[DDDDDDDD]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[DDDDDDDD]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[EEEEEEEEEE]"
+
+10000
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[FFFFFFFFF]"
+
+boskoizcool
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[GGGGGGGGGGG]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[GGGGGGGGGGG]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[YYYYYYYYYYYYYYY]"
+
+5.00
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[ZZZZZZZZZZZZZ]"
+
+mille
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[XXXXXXXXXXXXXXXXXXXXX]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][1][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][2][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][3][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][4][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][5][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][6][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][9]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][10]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][11]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][12]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][13]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][14]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][15]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][16]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][17]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][18]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][19]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][20]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][21]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][22]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][23]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][0]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][1]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][2]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][3]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][4]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][5]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][6]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][7]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[VVVVVVVVVVVVVVVVVVVVVVV][0][8]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[WWWWWWWWWWWWWWWWWWWWWWWWW][678][ZEZE]"
+
+PLAPLAPLAINCINCINC
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[WWWWWWWWWWWWWWWWWWWWWWWWW][678][123412341234e]"
+
+SITE
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[WWWWWWWWWWWWWWWWWWWWWWWWW][678][12345678901]"
+
+56
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_type]"
+
+none
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][has_hashashas_has]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][frefrefre_fre_freee]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][frefrefre_fre_frefre]"
+
+forever
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][self_block]"
+
+0
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][GGG_RULES][][COUCOUN]"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][GGG_RULES][][REGREG]"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_wizard][GGG_RULES][][c1c1]"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA_TARTARTAR_wizard_rule"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[TARTARTAR_rule]"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[selection_selection]"
+
+R
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[PLAPLAPLA_MEMMEMMEMM_ATTRATTRER][new][-1][selection_selection]"
+
+1
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[PLAPLAPLA_MEMMEMMEMM_ATTRATTRER][new][-1][ba_unit_id]"
+
+1015
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[PLAPLAPLA_MEMMEMMEMM_ATTRATTRER][new][-2][selection_selection]"
+
+2
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[PLAPLAPLA_MEMMEMMEMM_ATTRATTRER][new][-2][ba_unit_id]"
+
+1017
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo
+Content-Disposition: form-data; name="AAAAAAAAAAAAAAAAAAA[tile_name]"
+
+
+------WebKitFormBoundaryWsY0GnpbI5U7ztzo--
+
diff --git a/test/spec_rack_utils.rb b/test/spec_rack_utils.rb
index dca4edca..96fb58a0 100644
--- a/test/spec_rack_utils.rb
+++ b/test/spec_rack_utils.rb
@@ -463,6 +463,25 @@ context "Rack::Utils::Multipart" do
     params["people"][0]["files"][:tempfile].read.should.equal "contents"
   end
 
+  specify "builds complete params with the chunk size of 16384 slicing exactly on boundary" do
+    data = File.open(multipart_file("fail_16384_nofile")) { |f| f.read }.gsub(/\n/, "\r\n")
+    options = {
+      "CONTENT_TYPE" => "multipart/form-data; boundary=----WebKitFormBoundaryWsY0GnpbI5U7ztzo",
+      "CONTENT_LENGTH" => data.length.to_s,
+      :input => StringIO.new(data)
+    }
+    env = Rack::MockRequest.env_for("/", options)
+    params = Rack::Utils::Multipart.parse_multipart(env)
+
+    params.should.not.equal nil
+    params.keys.should.include "AAAAAAAAAAAAAAAAAAA"
+    params["AAAAAAAAAAAAAAAAAAA"].keys.should.include "PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"
+    params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"].keys.should.include "new"
+    params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"].keys.should.include "-2"
+    params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"]["-2"].keys.should.include "ba_unit_id"
+    params["AAAAAAAAAAAAAAAAAAA"]["PLAPLAPLA_MEMMEMMEMM_ATTRATTRER"]["new"]["-2"]["ba_unit_id"].should.equal "1017"
+  end
+
   specify "should return nil if no UploadedFiles were used" do
     data = Rack::Utils::Multipart.build_multipart("people" => [{"submit-name" => "Larry", "files" => "contents"}])
     data.should.equal nil