There is no standard C type ssize_t. The modern C99 introduces ptrdiff_t
which has an effectively equivilant (but subtly different) definition.
This patch makes ssize_t the equivilant byte-width of size_t on Windows,
using the stdint.h definition.
The remaining issue is that every consumer on Windows must continue to
define (either -Dssize_t=int64_t or -Dssize_t=ptrdiff_t) an override
because ssize_t was resolved in the nghttp2-private config.h. These uses
of ssize_t bleed out to the public API in nghttp2.h, leaving non-POSIX
environments like Windows with an undefined ssize_t type.
The cleanest solution in any later refactoring will be to switch all
external declarations using ssize_t to use the C99-standard ptrdiff_t.
This change requires a release notes notice as it causes an ABI change,
only for those on a 64-bit win32 build environment.
Signed-off-by: William A Rowe Jr wrowe@pivotal.io
Signed-off-by: Yechiel Kalmenson ykalmenson@pivotal.io
Run nghttpx integration test with cmake build. Autotools build erases
artifacts for packaging tests, so we cannot run nghttpx integration
test with autotools build at the moment.
Relay on go modules to download dependencies.
Previously, if log-level is not mentioned in configuration file and
reload happens, the log level was not set to the default value NOTICE.
Instead, the log level stayed the same. This commit fixes this bug.
A well known server sends content-length: 0 in 101 response. RFC 7230
says Content-Length or Transfer-Encoding in 200 response to CONNECT
request: https://tools.ietf.org/html/rfc7230#section-3.3.3
llhttp does not include URL parser. We extracted URL parser code from
http-parser and put it under third-party/url-parser.
llhttp bd3d224eb8cdc92c6fc8f508d7bbe0ba266e8e92
mruby minirake does not like CXX="clang++-7 -std=c++14" because it
expects CXX to be an executable. To workaround this, split CXX so
that CXX becomes a single word and move the rest of words to CXXFLAGS.
In boost 1.70, deprecated get_io_context() has finally been removed.
Introduce GET_IO_SERVICE macro that based on boost version uses
old get_io_service() interface (boost < 1.70), or get_executor().context()
for boost 1.70+.
Commit based idea seen in monero-project/monero@17769db946