fix dst cookie bug reported in issue #73
Merge branch 'dst-cookie-crash-73'
remove template_dir from rebar.config and update changelog for 2.3.1 release
Fix parsing of unescaped lt chars.
Fix for parsing quoted attributes with newlines.

Quoted attributes are allowed to contain newlines.
Merge pull request #75 from mmzeeman/master

Fix for parsing unescaped < characters.
Fixes a problem with to_html for singleton tags
Merge pull request #77 from mmzeeman/master

Fix for problem with to_html rendering faulty html with singleton tags.
bump to 2.3.2, Case insensitive match for "Connection: close" (#81)
The range-header handling does not implement the following:
http://tools.ietf.org/html/rfc2616#section-14.35.1

  If the last-byte-pos value is absent, or if
  the value is greater than or equal to the current
  length of the entity-body, last-byte-pos is taken
  to be equal to one less than the current length of
  the entity-body in bytes.

Specifically, the 'greater than equal to' case.
add ability to handle combined content-length header.
Merge pull request #85 from pmundkur/fix-ranges

Fix a case in handling range headers
amended get_combined_value.
support parsing quoted string.
Avoid using regular expressions
Removed export_all
Merge pull request #88 from doubleyou/handling-combined-header

Handling combined header
Fix for mochiweb_acceptor crash under R15B02

The source is still unclear but R15B02 now will return and emsgsize error
if the received packet is larger than the recvbuf.  This can be tested with
the following (sorry I don't know how to integrate this sort of test into
mochiweb's tests).

-module(mochi_test).

-export([start/0,
         handle_http/1,
         test/1]).

start() ->
  application:start (inets),
  mochiweb_http:start([{port, 5678}, {loop, fun(Req) -> handle_http(Req) end}]).

handle_http(Req) ->
  Req:respond({ 200,
                [ {"Content-Type", "text/html"} ],
                [ "<html><body>Hello</body></html>" ]
              }).

test (Len) ->
  httpc:request (get, {"http://127.0.0.1:5678/",
                 [{"X-Random", [$a || _ <- lists:seq(1,Len)]}]}, [], []).

Once compiled you can run this with

erl -pa ebin -boot start_sasl

Then run with

mochi_test:start().
mochi_test:test(10000).

The result is different with R14B04 and R15B02.  With R15B02 there was
a crash in the mochiweb_acceptor.  This patch deals with that crash.
Do not allow backslashes in path (security).

On Windows, it is possible to access arbitrary files by crafting
a GET with unescaped \, like GET /..\..\..\..\..\windows\win.ini

http://www.couchbase.com/issues/browse/MB-7390
Issue 92: Do not allow backslashes in path (security).

On Windows, it is possible to access arbitrary files by crafting
a GET with unescaped \, like GET /..\..\..\..\..\windows\win.ini

Please also see ouchbase.com/issues/browse/MB-7390