Commits on May 28, 2011
  1. IS_* macros for char classes.

    - Add IS_ALPHA(), IS_NUM(), IS_HOST_CHAR(), etc. macros for determining
      membership in a character class. HTTP_PARSER_STRICT causes some of
      these definitions to change.
    - Support '_' character in hostnames in non-strict mode.
    - Support leading digits in hostnames when the method is HTTP_CONNECT.
    - Don't re-define HTTP_PARSER_STRICT in http_parser.h if it's already
    - Tweak Makefile to run non-strict-mode unit tests. Rearrange non-strict
      mode unit tests in test.c.
    - Add test_fast to .gitignore.
    Fixes #44
    pgriess committed with ry May 28, 2011
Commits on May 24, 2011
  1. HTTP_STRICT ifdefs out behavior introduced in 50b9bec

    Fixes #37.
    ry committed May 24, 2011
  2. Expose F_* flags as public API.

    Fixes #42.
    pgriess committed with ry May 23, 2011
Commits on May 15, 2011
Commits on May 12, 2011
  1. bump to v1.0

    ry committed May 12, 2011
Commits on May 11, 2011
  1. Support ?-terminated hostnames per RFC 2396.3.2.

    - Bust out of s_req_host and s_req_port on '?'.
    - Add tests for query string parsing.
    Fixes #38.
    pgriess committed with ry May 11, 2011
  2. Allow octets > 127 in path components.

    - This is non-spec behavior, but it appears that most HTTP servers
      implicitly support non-ASCII characters when parsing path components.
      Extend http-parser to allow this.
    - Fill out slots [128, 256) in normal_url_char[] with 1 so that these
      high octets are accepted in path components.
    - Add unit test for paths that include such non-ASCII characters.
    Fixes #37.
    pgriess committed with ry May 11, 2011
Commits on Mar 22, 2011
  1. Update copyright headers

    ry committed Mar 22, 2011
Commits on Feb 25, 2011
  1. Avoid chunk header parsing overflow.

    Recharacterize the chunk header states such that they are bound by the check
    scunningham committed with ry Feb 11, 2011
  2. Avoid chunk trailer overflow.

    Check for overflow during chunk trailer by removing unnecessary check in macro PARSING_HEADER.  This will force the parser to abort if the chunk trailer contains more than HTTP_MAX_HEADER_SIZE of data.
    scunningham committed with ry Feb 11, 2011
Commits on Feb 4, 2011
  1. Detect errors on EOF

    ry committed Feb 4, 2011
Commits on Jan 26, 2011
  1. Add hack for tmm1

    ry committed Jan 26, 2011
Commits on Nov 22, 2010
  1. Add support for "M-SEARCH" and "NOTIFY" request methods.

    Allow a request path of "*" (for SSDP requests).
    TooTallNate committed with ry Oct 12, 2010
Commits on Nov 11, 2010
  1. Set http_major when a request omits the HTTP version

    I.E. "GET /" in telnet
    TooTallNate committed with ry Oct 18, 2010
  2. Fix build issues using mingw32 on windows

    tmm1 committed with ry Oct 27, 2010
  3. Remove acceptable_header array

    This was not necessary, as it was just being used as a downcase
    Cliff Frey committed with ry Nov 10, 2010
Commits on Nov 5, 2010
  1. Add non-ascii in status line test

    from Ben Noordhuis
    ry committed Nov 5, 2010
Commits on Oct 20, 2010
  1. readme typo (thanks tmm1)

    ry committed Oct 20, 2010
Commits on Oct 12, 2010
Commits on Sep 12, 2010
  1. avoid assertion failure in error case

    Without this change, it is possible to get an assertion to fail by
    continuing to call http_parser_execute after it has returned an error.
    Specifically, the parser could be called with parser->state ==
    s_chunk_size_almost_done and parser->flags & F_CHUNKED set.  Then,
    F_CHUNKED could have been cleared, and an error could be hit.  In this
    case, the parser would have returned with F_CHUNKED clear, but
    parser->state == s_chunk_size_almost_done, resulting in an assertion
    failure on the next call.
    There are alternate solutions possible, including just saving all of
    the fields (state included) on error.
    I didn't add a test case because this is a bit annoying to test, but I
    can add one if necesssary.
    Cliff Frey committed with ry Sep 11, 2010
Commits on Aug 27, 2010
Commits on Aug 18, 2010
  1. save 8 bytes in http_parser structure

    nread can never be larger than HTTP_MAX_HEADER_SIZE
    Cliff Frey committed with ry Aug 18, 2010
  2. Array type cleanups. Also save space

    acceptable_header[x] is always assigned to a variable of type char, so
    the 'unsigned' is unnecessary.
    The other arrays can be of type int8_t/uint8_t to save space.
    Cliff Frey committed with ry Aug 18, 2010
  3. fixes for architectures with signed char default

    This could have resulted in memory before the normal_url_char array
    being read on architectures with signed char default.
    Cliff Frey committed with ry Aug 18, 2010
Commits on Jul 31, 2010
  1. Changes to compile with clang

    ry committed Jul 31, 2010
  2. Use lookup tables of my own.

    ry committed Jul 31, 2010
Commits on Jul 30, 2010