Permalink
Commits on Oct 5, 2016
  1. Basho/zl/mochiweb update with master for recbuf and more (#19)

    * have edoc build things before generating docs. re: issue #135
    
    * Minimize calls to gen_tcp:send() to optimize performance.  Tests indicate a 50 to 1 performance improvement with this change.
    
    * update version to 2.9.1
    
    * fixed an DoS vulnerability in Mochiweb/SSL
    
    * SSL: Fix for broken ECDH ciper suite in R16B
    
    See: http://osdir.com/ml/erlang-programming-bugs/2013-10/msg00004.html
    
    Fix inspired by ninenines/ranch@c0c09a1
    
    * SSL: remove unsafe ciphers and protocols from the default options.
    
    * update CHANGES and README for v2.9.2 #140
    
    * Add recbuf config option.
    
    * update CHANGES for v2.10.0 #134
    
    * move common testing functionality into mochiweb_test_util
    
    * end to end connect test for websocket
    
    * end to end test with text frames (ssl is broken)
    
    * fix ssl receive support for websocket
    
    * R15 debugging
    
    * update CHANGES for 2.10.1
    
    * mitigate SSL and emfile related conditions per #138
    
    * include 17.1 in travis config, only use latest releases of older versions
    
    * Accept range end position which exceededs the resource size
    
    RFC 2616 14.35.1 Byte Ranges
    
        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.
    
    This work is originally done by @shino
    
    * update CHANGES for 2.11.1
    
    * Fix range parsing regression introduced in #147
    
    * send "Connection: close" header when the server is going to force-close the connection #146
    
    * As discussed with @etrepum, add missing license headers
    
    * update CHANGES for 2.12.1
    
    * update copyright for mochiweb_session
    
    * attempt to fix active_socket accounting #149
    
    * update CHANGES for v2.12.1
    
    * exit when setopts result is {error,closed} #152
    
    * Export stream_body/5, allows to specify a max body length
    
    * Allow recbuf to be undefined
    
    If recbuf option is undefined, the operating system decides on the buffer size
    If no buffer size is speciefied, streaming will happen in the chunks of MaxChunkSize
    zeeshanlakhani committed with bsparrow435 Oct 5, 2016
  2. Merge pull request #24 from basho/dreyk-tuple_module_fun_fix

    Fix chunked response with correct function
    bsparrow435 committed on GitHub Oct 5, 2016
  3. Fixed conflict

    bsparrow435 committed Oct 5, 2016
Commits on Feb 23, 2016
  1. Merge pull request #23 from basho/bugfix/spurious_error_handling

    Port the spurious 400 error fix forward to master
    nickelization committed Feb 23, 2016
  2. Add tests for handling errors and unexpected msgs

    These new tests verify correct behavior even in the case that an
    unexpected message arrives in the middle of handling a request. We also
    verify that the socket is closed cleanly in the event of a protocol
    error.
    nickelization committed Feb 23, 2016
  3. Fix handling for spurious msgs and protocol errors

    This fix prevents us from sending back a 400 error in response to
    unexpected messages that may come in. The intent in the original
    catch-all clause seems to be to match on TCP or SSL errors, but if we
    get some other unexpected message coming in from the application layer,
    then that will also trigger the catch-all. This can have especially bad
    consequences if keepalives are enabled, as we may end up sending both a
    valid response AND a 400 on the same connection for a single request.
    
    At the same time, not all TCP/SSL errors necessarily warrant a 400
    response, so most errors will now simply trigger us to close the socket.
    The exception is emsgsize errors, since this typically comes from the
    packet decoder, suggesting that there is indeed actually a problem with
    the client request itself. This is also the only such case that is
    explicitly tested in the eunit test code, so that behavior is maintained
    with no need to fix any tests.
    nickelization committed Feb 23, 2016
Commits on Jan 16, 2015
  1. Merge pull request #17 from basho/ku-range-fix

    Ku range fix
    kuenishi committed Jan 16, 2015
Commits on Jan 15, 2015
  1. Accept range end position which exceededs the resource size

    RFC 2616 14.35.1 Byte Ranges
    
       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.
    
    Conflicts:
    	src/mochiweb_http.erl
    shino committed with kuenishi Feb 14, 2013
  2. Remove special treatment of the range "0-"

    Conflicts:
    	.travis.yml
    shino committed with kuenishi Feb 14, 2013
Commits on Jul 24, 2014
  1. Merge pull request #15 from basho/vinoski/mochiweb-update

    update from mochi repo
    vinoski committed Jul 24, 2014
Commits on Jul 11, 2014
  1. more updates from primary mochiweb repo

    The crypto compatibility changes in mochiweb_session.erl and
    mochiweb_websocket.erl are necessary for older releases of Erlang not
    supported in the primary mochiweb repo.
    vinoski committed Jul 11, 2014
Commits on Jun 27, 2014
  1. Merge pull request #132 from tuncer/rebar-recursion

    Makefile: adapt rebar calls to new behavior
    etrepum committed Jun 27, 2014
  2. Makefile: adapt rebar calls to new behavior

    * rebar prepare-deps is equivalent to rebar -r get-deps compile
    * Only rebar *-deps and rebar compile are recursive by default.
      Therefore, we don't need to pass skip_deps=true.
    tuncer committed Jun 27, 2014
Commits on Jun 24, 2014
Commits on May 8, 2014
  1. Merge pull request #127 from talko/base64url_dialyzer

    Fix type specs in base64url
    etrepum committed May 8, 2014
  2. Fix type specs in base64url

    ransomr committed May 8, 2014
Commits on Mar 26, 2014
  1. Merge pull request #126 from pooya/disco

    implementation of max, the number of connections is now limited with a default of 2048
    etrepum committed Mar 26, 2014
Commits on Mar 24, 2014
  1. Fix the computation of the active_sockets number.

    If we added a new socket in the recycle_acceptor, we should not decrement the
    number of active sockets.
    pooya committed Mar 24, 2014
  2. Avoid sleeping in the unittests.

    pooya committed Mar 24, 2014
Commits on Mar 23, 2014
  1. Add a simple implementation of max connections

    max limits the sum of active connections and listeners.
    The implementation assumes that max is greater than acceptor_pool_size,
    and always maintains the acceptor_pool at acceptor_pool_size as long
    as the max is not exceeded.
    
    If max is less than acceptor_pool_size, acceptor_pool_size is the
    effective max.
    pmundkur committed with pooya Apr 15, 2011
Commits on Feb 6, 2014
  1. Merge pull request #125 from nparry/whitespace_in_range_header

    Allow whitespace in Range headers
    etrepum committed Feb 6, 2014
  2. Allow whitespace in Range headers

    While investigating basho/webmachine#186 it was noted that a small but
    non-zero percentage of clients embed whitespace in Range headers. It
    appears this is valid:
    
    From http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
    
        byte-range-set  = 1#( byte-range-spec | suffix-byte-range-spec )
    
    From http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2
    
        #rule
        ...separated by one or more commas (",") and OPTIONAL linear
        white space (LWS)...
        ...null elements are allowed, but do not contribute to the count
        of elements present. That is, "(element), , (element) " is permitted,
        but counts as only two elements...
    nparry committed Feb 6, 2014
Commits on Jan 3, 2014
  1. update CHANGES

    etrepum committed Jan 3, 2014
  2. Merge pull request #121 from jj1bdx/jj1bdx-freebsd-testfail-fix

    Update test/mochiweb_tests.erl
    etrepum committed Jan 3, 2014
  3. Update test/mochiweb_tests.erl

    * With Erlang R16B03 running on FreeBSD/amd64 10.0-PRERELEASE
      (base/stable/10 r260159),
      the following tests will not finish
      within the default eunit timeout of 5 seconds
      (See `lib/eunit/src/eunit_internal.hrl` (of R16B03))
      so cases modified to extend timeout to 60 seconds (`LARGE_TIMEOUT`):
    
            % note well the underscore at the end of function names
            single_100k_http_POST_test_()
            single_100k_https_POST_test_()
            multiple_100k_http_POST_test_()
            multiple_100k_https_POST_test_()
    
      See also <mochi/mochiweb@02066a5>
    jj1bdx committed Jan 3, 2014
Commits on Jan 2, 2014
  1. Merge branch 'websocket'

    etrepum committed Jan 2, 2014
Commits on Dec 26, 2013
  1. fix state bug

    etrepum committed Dec 26, 2013