[Mongrel] [ANN] Mongrel Pre-Release -- QUERY_STRING Fixed

Zed Shaw zedshaw at zedshaw.com
Wed Aug 16 19:53:26 EDT 2006

Hello Everyone,

I just posted another pre-release of Mongrel that fixes a bug which
caused Mongrel to claim it was getting parsing errors because the
QUERY_STRINGs were too long.  In actuality it was shift in the parser
that made empty queries (/test?) become negative.  This is fixed up now.

Here's the full list of changes:

* It has a couple of fixes for win32, but I still have to apply a few
more patches from Jan Svitok.  This will happen tonight.
* The parser is fixed up to allow at least 10k QUERY_STRINGS.
* There is a new debugging feature.  You can now send any Mongrel
process a USR1 signal and it'll start dumping the full text and
parameters of any request it considers "bad".  More on this below.
* Tests were enhanced to test for the empty query string.
* The mongrel_cluster work from Bradley Taylor is now part of Mongrel
and will be maintained together so it'll get released at the same time
as mongrel.
* Timeout errors now include the reason mongrel timed out the thread in
the exception description.

That's all for now.  Please grab this release with:

  gem install mongrel --source=http://mongrel.rubyforge.org/releases/

And verify your application still works.


As mentioned above, if you're seeing BAD CLIENT messages or parsing
errors from Mongrel then you can send your mongrel process a USR1 signal
(unix only) and Mongrel will start dumping the full text and parameters
of what it received before aborting the client.

When you hit a parsing error, really make sure the client is correct,
then if you're positive it's right, send me the snippet from your log
(not all of your log) and I'll look at it.

When you're done, then simply hit the processes with another USR1 to
toggle it off.

The downside is I'm not sure of the security implications of this
change, but there's only a performance hit if the client is bad so it's
not that bad to leave it on.

Zed A. Shaw
http://www.railsmachine.com/ -- Need Mongrel support?

More information about the Mongrel-users mailing list