nghttp2/lib
Tatsuhiro Tsujikawa b157d4ebb2 Validate HTTP semantics by default
Previously we did not check HTTP semantics and it is left out for
application.  Although checking is relatively easy, but they are
scattered and error prone.  We have implemented these checks in our
applications and also feel they are tedious.  To make application
development a bit easier, this commit adds basic HTTP semantics
validation to library code.  We do following checks:

server:

* HEADERS is either request header or trailer header.  Other type of
header is disallowed.

client:

* HEADERS is either zero or more non-final response header or final
  response header or trailer header.  Other type of header is
  disallowed.

For both:

* Check mandatory pseudo header fields.
* Make sure that content-length matches the amount of DATA we
  received.

If validation fails, RST_STREAM of type PROTOCOL_ERROR is issued.
2015-02-20 01:01:10 +09:00
..
includes Update doc 2015-02-12 23:54:38 +09:00
Makefile.am Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
Makefile.msvc Move Makefile.msvc under lib 2014-09-24 00:44:45 +09:00
libnghttp2.pc.in libnghttp2: Remove dependency to zlib 2014-05-06 23:10:50 +09:00
nghttp2_buf.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_buf.h Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_callbacks.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_callbacks.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_frame.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_frame.h Make default min frame payload size to 16K 2015-02-12 00:09:18 +09:00
nghttp2_hd.c Fix memory leak 2014-12-18 21:02:44 +09:00
nghttp2_hd.h Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_hd_huffman.c Fix other shorten-64-to-32 casting error found by MSVC (64bits) 2015-01-10 15:17:31 +01:00
nghttp2_hd_huffman.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_hd_huffman_data.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_helper.c Suppress to send frames other than GOAWAY if NGHTTP2_GOAWAY_TERM_ON_SEND is set 2015-01-15 22:32:29 +09:00
nghttp2_helper.h Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_http.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_http.h Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_int.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_map.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_map.h Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_mem.c Remove return in void function 2015-01-09 20:56:37 +09:00
nghttp2_mem.h Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_net.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_npn.c Refactor ALPN/NPN protocol selection and introduce NGHTTP2_PROTO_ALPN macro 2015-02-06 22:35:30 +09:00
nghttp2_npn.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_option.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_option.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_outbound_item.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_outbound_item.h Handle situation where request HEADERS in queue is reset by RST_STREAM 2015-02-13 23:48:16 +09:00
nghttp2_pq.c Handle situation where request HEADERS in queue is reset by RST_STREAM 2015-02-13 23:48:16 +09:00
nghttp2_pq.h Handle situation where request HEADERS in queue is reset by RST_STREAM 2015-02-13 23:48:16 +09:00
nghttp2_priority_spec.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_priority_spec.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_queue.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_queue.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_session.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_session.h Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_stream.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_stream.h Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_submit.c Add nghttp2_submit_shutdown_notice() to start graceful shutdown 2015-01-22 23:21:58 +09:00
nghttp2_submit.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_version.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00