Zbatery 0.2.1 - use a less-broken parser from Unicornv0.2.1
authorEric Wong <normalperson@yhbt.net>
Mon, 19 Apr 2010 21:14:46 +0000 (14:14 -0700)
committerEric Wong <normalperson@yhbt.net>
Mon, 19 Apr 2010 21:14:46 +0000 (14:14 -0700)
commit5764336aa3785af8a08be7ec7b40846ec139eb6c
tree88bd73288d7c0b980ad81a47d984c98a979bc21c
parentbf277616bf1a13385150260c8bccb1d97b830bec
Zbatery 0.2.1 - use a less-broken parser from Unicorn

This release fixes a denial-of-service vector for deployments
exposed directly to untrusted clients.

The HTTP parser in Unicorn <= 0.97.0 would trip an assertion
(killing the associated worker process) on invalid
Content-Length headers instead of raising an exception.  Since
Rainbows! and Zbatery supports multiple clients per worker
process, all clients connected to the worker process that hit
the assertion would be aborted.

Deployments behind nginx are _not_ affected by this bug, as
nginx will reject clients that send invalid Content-Length
headers.

The status of deployments behind other HTTP-aware proxies is
unknown.  Deployments behind a non-HTTP-aware proxy (or no proxy
at all) are certainly affected by this DoS.

Users are strongly encouraged to upgrade as soon as possible,
there are no other changes besides this bug fix from Rainbows!
0.91.0 nor Unicorn 0.97.0

This bug affects all previously released versions of Rainbows!
and Zbatery.
GIT-VERSION-GEN
lib/zbatery.rb
zbatery.gemspec