summary refs log tree commit homepage
diff options
authorEric Wong <>2009-10-07 01:37:52 -0700
committerEric Wong <>2009-10-07 01:37:52 -0700
commit8bf9006d5d7cf15706a362d301ef4d75254e855c (patch)
parente825dd70a7e4a10f0dfba10610fd9d58a7b8e694 (diff)
Avoid truncated POST bodies from with URL-encoded forms in Rails
by switching TeeInput to use read-in-full semantics (only) when
a Content-Length: header exists.  Chunked request bodies
continue to exhibit readpartial semantics to support
simultaneous bidirectional chunking.

The lack of return value checking in Rails to protect against a
short is entirely reasonable even if not
pedantically correct.  Most implementations
return the full amount requested except right before EOF.

Also there are some minor documentation improvements.

Eric Wong (7):
      Fix NEWS generation on single-paragraph tag messages
      Include GPLv2 in docs
      doc: make it clear contributors retain copyrights
      TODO: removed Rainbows! (see
      Document the START_CTX hash contents
      more-compatible TeeInput#read for POSTs with Content-Length
      tests for read-in-full vs readpartial semantics
2 files changed, 2 insertions, 2 deletions
index 7a2ebc4..1956c61 100755
@@ -1,7 +1,7 @@
diff --git a/lib/unicorn/const.rb b/lib/unicorn/const.rb
index 98f1a26..76a41b4 100644
--- a/lib/unicorn/const.rb
+++ b/lib/unicorn/const.rb
@@ -7,7 +7,7 @@ module Unicorn
   # gave about a 3% to 10% performance improvement over using the strings directly.
   # Symbols did not really improve things much compared to constants.
   module Const
-    UNICORN_VERSION="0.93.1"
+    UNICORN_VERSION="0.93.2"
     DEFAULT_HOST = "" # default TCP listen host address
     DEFAULT_PORT = 8080      # default TCP listen port