Previously, mkapiref.py required python2.6, as it used format strings,
but continued to use print as a keyword, not a function. But, since 2.6
is implicitly made a requirement, we can also count on print being
available as a function.
This change adds python2.6 as a soft requirement during ./configure,
and converts all print keywords to statements. There's no need to do
anything about the actual building of the doc since sphinx-build can
run under python2 and python3.
The net result is that it no longer matters whether 'python' points to
python2 or python3 (see PEP394), because both will be able to run
mkapiref.py successfully.
This makes the buildsystem forward compatible with automake>=1.14 since
nghttp uses a recursive build. It avoids a large and non-scary warning
on running autoreconf, summarized as:
src/Makefile.am:57: warning: source file 'http-parser/http_parser.c' is in a subdirectory,
src/Makefile.am:57: but option 'subdir-objects' is disabled
Since the name of the file is 'libnghttp2*' I think we should use the
full name within it as well (for the Name: field), as it gets confusing
otherwise for users and for pkg-config.
Also, 'Requires.private' breaks pkg-config's ability to extract -I etc
from the Cflags below it. I believe it should be 'Libs.private' and the
right side should then list the libs with -l.
With these changes, I've successfully written a configure script to
find and use libnghttp2.
We call on_stream_close_callback even if stream->state is
NGHTTP2_STREAM_INITIAL. This will happen while sending request
HEADERS, a local endpoint receives RST_STREAM for that
stream. It may be PROTOCOL_ERROR, but without notifying stream
closure will hang the stream in a local endpoint.
Use --dh-param-file option to specify a file including DH parameters
in PEM format.
For example, you can create DH parameters with 1024 bit key using
following command:
$ openssl dhparam -outform PEM -out dhparam.pem 1024