Files | Admin

Notes:

Release Name: 4.6.2

Notes:
unicorn 4.6.2 - HTTP parser fix for Rainbows!

Unicorn is an HTTP server for Rack applications designed to only serve
fast clients on low-latency, high-bandwidth connections and take
advantage of features in Unix/Unix-like kernels.  Slow clients should
only be served by placing a reverse proxy capable of fully buffering
both the the request and response in between Unicorn and slow clients.

* http://unicorn.bogomips.org/
* mongrel-unicorn@rubyforge.org
* git://bogomips.org/unicorn.git
* http://unicorn.bogomips.org/NEWS.atom.xml

Changes:

This release fixes a bug in Unicorn::HttpParser#filter_body
which affected some configurations of Rainbows!  There is
also a minor size reduction in the DSO.



Changes: GIT-VERSION-GEN | 2 +- ext/unicorn_http/ext_help.h | 4 ---- ext/unicorn_http/httpdate.c | 14 +++++--------- 3 files changed, 6 insertions(+), 14 deletions(-) commit 04bcc147d0081433069235a87f779055fa7b6f3c Author: Eric Wong Date: Tue Feb 26 02:57:24 2013 +0000 unicorn 4.6.2 - HTTP parser fix for Rainbows! This release fixes a bug in Unicorn::HttpParser#filter_body which affected some configurations of Rainbows! There is also a minor size reduction in the DSO. commit f7ee06592d7709e96f64efb5e7a9485b54415c9d Author: Eric Wong Date: Tue Feb 26 02:52:37 2013 +0000 http: avoid frozen string bug in filter_body Our rb_str_modify() became no-ops due to incomplete reverts of workarounds for old Rubinius, causing rb_str_set_len to fail with: can't set length of shared string (RuntimeError) This bug was introduced due to improper workarounds for old versions of Rubinius in 2009 and 2010: commit 5e8979ad38efdc4de3a69cc53aea33710d478406 ("http: cleanups for latest Rubinius") commit f37c23704cb73d57e9e478295d1641df1d9104c7 ("http: no-op rb_str_modify() for Rubies without it") commit 3ef703179891fa3f6f9d03f2ae58d289c691738e Author: Eric Wong Date: Tue Feb 19 11:36:18 2013 +0000 httpdate: minor size reduction in DSO Extra pointers waste space in the DSO. Normally I wouldn't care, but the string lengths are identical and this code already made it into another project in this form. size(1) output: text data bss dec hex filename before: 42881 2040 336 45257 b0c9 unicorn_http.so after: 42499 1888 336 44723 aeb3 unicorn_http.so ref: http://www.akkadia.org/drepper/dsohowto.pdf