Files | Admin

Notes:

Release Name: 3.7.0

Notes:
unicorn 3.7.0 - minor feature update

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

Changes:

* miscellaneous documentation improvements
* return 414 (instead of 400) for Request-URI Too Long
* strip leading and trailing linear whitespace in header values

User-visible improvements meant for Rainbows! users:

* add :ipv6only "listen" option (same as nginx)



Changes: .document | 1 + Documentation/GNUmakefile | 2 +- GIT-VERSION-GEN | 2 +- GNUmakefile | 4 +- HACKING | 11 ++++ Links | 53 ++++++++++++++++++ PHILOSOPHY | 98 ++++++++++++++++---------------- Sandbox | 17 ++++- examples/nginx.conf | 8 +++ ext/unicorn_http/ext_help.h | 16 +++++ ext/unicorn_http/extconf.rb | 1 + ext/unicorn_http/global_variables.h | 12 +++- ext/unicorn_http/unicorn_http.rl | 105 +++++++++++++++++++++++++++------- lib/unicorn/configurator.rb | 18 ++++++- lib/unicorn/const.rb | 8 ++- lib/unicorn/http_request.rb | 4 +- lib/unicorn/http_server.rb | 7 +- lib/unicorn/socket_helper.rb | 22 ++++++- script/isolate_for_tests | 1 + t/t0002-parser-error.sh | 65 +++++++++++++++++++++- t/t0019-max_header_len.sh | 49 ++++++++++++++++ test/unit/test_http_parser.rb | 56 ++++++++++++++++++ test/unit/test_socket_helper.rb | 8 +++ unicorn.gemspec | 2 +- 24 files changed, 473 insertions(+), 97 deletions(-) commit 1c033dfd66c713afb05911e5e220adb7fc4ddc17 Author: Eric Wong Date: Thu Jun 9 13:36:20 2011 -0700 unicorn 3.7.0 - minor feature update * miscellaneous documentation improvements * return 414 (instead of 400) for Request-URI Too Long * strip leading and trailing linear whitespace in header values User-visible improvements meant for Rainbows! users: * add :ipv6only "listen" option (same as nginx) commit c3880bb0cc00821d1715a7dd94b0b76a03a7ace0 Author: Eric Wong Date: Tue Jun 7 13:54:18 2011 -0700 configurator: add :ipv6only directive Enabling this flag for an IPv6 TCP listener allows users to specify IPv6-only listeners regardless of the OS default. This should be interest to Rainbows! users. commit 0dc56fd03ea478ae054e3d0398703f43e017723b Author: Eric Wong Date: Tue Jun 7 09:56:30 2011 -0700 build: ensure gem and tgz targets build manpages Original patch by Hongli Lai : > >From bfefc2cf0efb0913a42862886363b3140dcdbb2a Mon Sep 17 00:00:00 2001 > From: Hongli Lai (Phusion) > Date: Mon, 6 Jun 2011 13:39:00 +0200 > Subject: [PATCH] Ensure that 'make gem' builds the documentation too. > > If autogenerated documentation files, like man pages, don't exist then > 'make gem' will fail, complaining that some files are not found. By > depending the 'gem' target on the 'doc' target we ensure that 'make gem' > always works. > > Signed-off-by: Hongli Lai (Phusion) ref: http://mid.gmane.org/4DED0EE2.7040400@phusion.nl commit 6eefc641c84eaa86cb2be4a2b1983b15efcbfae1 Author: Eric Wong Date: Tue Jun 7 09:38:34 2011 -0700 examples/nginx.conf: better wording for ipv6only comment Oops. commit 32b340b88915ec945ebdbfa11b7da242860a6f44 Author: Eric Wong Date: Mon Jun 6 19:15:36 2011 -0700 examples/nginx.conf: add ipv6only comment IPv4-mapped-IPv6 addresses are fugly. commit f4b9c1cb92711a62ae047368d7694c5050d27f2c Author: Eric Wong Date: Mon Jun 6 10:00:36 2011 -0700 Documentation: remove --sanitize-html for pandoc pandoc 1.8 no longer has this. commit 8e8781aa7002079ad066c11d271b98fc29f225dd Author: Hongli Lai (Phusion) Date: Mon Jun 6 13:36:57 2011 +0200 Document the method for building the Unicorn gem. Signed-off-by: Hongli Lai (Phusion) commit 6e550cabdafd2cb0fcd1617f8815a732e79af670 Author: Eric Wong Date: Mon May 23 23:59:53 2011 +0000 isolate_for_tests: use rake 0.8.7 Rails 3.0.0 can't use Rake 0.9.0 it seems. commit 3e8971f3998249c58c9958815e0f17a04256ef9f Author: Eric Wong Date: Mon May 23 23:59:31 2011 +0000 gemspec: use latest Isolate (3.1) It's required for RubyGems 1.8.x commit 67e1fa9f9535ad009d538b8189bb3bdec0e5f79c Author: Eric Wong Date: Mon May 23 21:53:19 2011 +0000 http: call rb_str_modify before rb_str_resize Ruby 1.9.3dev (trunk) requires it if the string size is unchanged. commit 1b31c40997ff8b932a457275e9a2f219de1d32c8 Author: Eric Wong Date: Mon May 23 21:04:56 2011 +0000 strip trailing and leading linear whitespace in headers RFC 2616, section 4.2: > The field-content does not include any leading or trailing LWS: > linear white space occurring before the first non-whitespace > character of the field-value or after the last non-whitespace > character of the field-value. Such leading or trailing LWS MAY be > removed without changing the semantics of the field value. Any LWS > that occurs between field-content MAY be replaced with a single SP > before interpreting the field value or forwarding the message > downstream. commit 947704e3f8e67b8262815838e87b331802c7ba67 Author: Eric Wong Date: Mon May 23 18:22:44 2011 +0000 doc: add Links page to help folks find relevant info Older announcements on our mailing list could be harder to find. commit 66be289901508d5a6ed092db81ec96815c42d21d Author: Eric Wong Date: Mon May 23 18:21:50 2011 +0000 GNUmakefile: locale-independent grep invocation Otherwise it could casefold and we don't want that. commit c20077db941cc969fb3721c7527d37a99367f220 Author: Eric Wong Date: Sun May 8 02:39:42 2011 +0000 doc: PHILOSOPHY: formatting fixes No need to list things inside preformatted text commit 77a951c5da518dda471282635c98f3b572ca15db Author: Eric Wong Date: Thu May 5 16:42:26 2011 -0700 http_parser: add max_header_len accessor Rainbows! wants to be able to lower this eventually... commit 733cb68e444a6f324bb1ffda3839da98ef010c74 Author: Eric Wong Date: Thu May 5 16:40:42 2011 -0700 t0002-parser-error: fix race conditions "wait" needs to be done in the outside shell because the subshell could still be exiting when we grep. commit 39ffd5590e4b5d2114215854deec848f849e9e87 Author: Eric Wong Date: Wed May 4 17:59:48 2011 -0700 doc: remove redundant "of" typo commit 1b0ee5826ef146a3e2647c40f3bc929d51d1b442 Author: Eric Wong Date: Wed May 4 17:04:51 2011 -0700 http_parser: new add_parse method Combines the following sequence: http_parser.buf << socket.readpartial(0x4000) http_parser.parse Into: http_parser.add_parse(socket.readpartial(0x4000)) It was too damn redundant otherwise... commit f81aa02448b615c4d5fc4f6544c53289dae9d2ec Author: Eric Wong Date: Wed May 4 16:41:36 2011 -0700 return 414 for URI length violations There's an HTTP status code allocated for it in , so return that instead of 400. commit 3a76dc40dda91a3804276fcc73260bb2a529c034 Author: Eric Wong Date: Sat Apr 30 11:09:32 2011 -0700 Sandbox: update doc for latest Bundler versions Bundler 1.0.x is much improved :)