diff --git a/Dockerfile.android b/Dockerfile.android index bbe9cb0e..ffd6dbc9 100644 --- a/Dockerfile.android +++ b/Dockerfile.android @@ -59,11 +59,11 @@ RUN autoreconf -i && \ make install WORKDIR /root/build -RUN curl -L -O https://www.openssl.org/source/openssl-1.0.2a.tar.gz && \ - tar xf openssl-1.0.2a.tar.gz && \ - rm openssl-1.0.2a.tar.gz +RUN curl -L -O https://www.openssl.org/source/openssl-1.0.2d.tar.gz && \ + tar xf openssl-1.0.2d.tar.gz && \ + rm openssl-1.0.2d.tar.gz -WORKDIR /root/build/openssl-1.0.2a +WORKDIR /root/build/openssl-1.0.2d RUN export CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi- && \ ./Configure --prefix=$PREFIX android && \ make && make install_sw diff --git a/README.rst b/README.rst index 7f6758f3..5b29e3d2 100644 --- a/README.rst +++ b/README.rst @@ -104,11 +104,11 @@ The Python bindings require the following packages: * python >= 2.7 * python-setuptools -If you are using Ubuntu 14.04 LTS (trusty), run the following to install the needed packages:: +If you are using Ubuntu 14.04 LTS (trusty) or Debian 7.0 (wheezy) and above run the following to install the needed packages:: - sudo apt-get install make binutils autoconf automake autotools-dev libtool pkg-config \ + sudo apt-get install g++ make binutils autoconf automake autotools-dev libtool pkg-config \ zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \ - libjemalloc-dev cython python3.4-dev python-setuptools + libjemalloc-dev cython python3-dev python-setuptools spdylay is not packaged in Ubuntu, so you need to build it yourself: http://tatsuhiro-t.github.io/spdylay/ diff --git a/configure.ac b/configure.ac index 06cf6532..69c50ddd 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ dnl Do not change user variables! dnl http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html AC_PREREQ(2.61) -AC_INIT([nghttp2], [1.3.5-DEV], [t-tujikawa@users.sourceforge.net]) +AC_INIT([nghttp2], [1.4.1-DEV], [t-tujikawa@users.sourceforge.net]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) @@ -46,9 +46,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) dnl See versioning rule: dnl http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -AC_SUBST(LT_CURRENT, 15) -AC_SUBST(LT_REVISION, 4) -AC_SUBST(LT_AGE, 1) +AC_SUBST(LT_CURRENT, 16) +AC_SUBST(LT_REVISION, 0) +AC_SUBST(LT_AGE, 2) major=`echo $PACKAGE_VERSION |cut -d. -f1 | sed -e "s/[^0-9]//g"` minor=`echo $PACKAGE_VERSION |cut -d. -f2 | sed -e "s/[^0-9]//g"` @@ -382,29 +382,6 @@ fi AM_CONDITIONAL([HAVE_SPDYLAY], [ test "x${have_spdylay}" = "xyes" ]) -# mruby (for src/nghttpx) -have_mruby=no -if test "x${request_mruby}" = "xyes"; then - # We are going to build mruby - have_mruby=yes - AC_DEFINE([HAVE_MRUBY], [1], [Define to 1 if you have `mruby` library.]) - LIBMRUBY_LIBS="-lmruby -lm" - LIBMRUBY_CFLAGS= - AC_SUBST([LIBMRUBY_LIBS]) - AC_SUBST([LIBMRUBY_CFLAGS]) -fi - -AM_CONDITIONAL([HAVE_MRUBY], [test "x${have_mruby}" = "xyes"]) - -# neverbleed (for src/nghttpx) -have_neverbleed=no -if test "x${request_neverbleed}" = "xyes"; then - have_neverbleed=yes - AC_DEFINE([HAVE_NEVERBLEED], [1], [Define to 1 if you have `neverbleed` library.]) -fi - -AM_CONDITIONAL([HAVE_NEVERBLEED], [test "x${have_neverbleed}" = "xyes"]) - # Check Boost Asio library have_asio_lib=no @@ -483,14 +460,35 @@ AM_CONDITIONAL([ENABLE_EXAMPLES], [ test "x${enable_examples}" = "xyes" ]) # third-party only be built when needed enable_third_party=no +have_mruby=no +have_neverbleed=no if test "x${enable_examples}" = "xyes" || test "x${enable_app}" = "xyes" || test "x${enable_hpack_tools}" = "xyes" || test "x${enable_asio_lib}" = "xyes"; then enable_third_party=yes + + # mruby (for src/nghttpx) + if test "x${request_mruby}" = "xyes"; then + # We are going to build mruby + have_mruby=yes + AC_DEFINE([HAVE_MRUBY], [1], [Define to 1 if you have `mruby` library.]) + LIBMRUBY_LIBS="-lmruby -lm" + LIBMRUBY_CFLAGS= + AC_SUBST([LIBMRUBY_LIBS]) + AC_SUBST([LIBMRUBY_CFLAGS]) + fi + + # neverbleed (for src/nghttpx) + if test "x${request_neverbleed}" = "xyes"; then + have_neverbleed=yes + AC_DEFINE([HAVE_NEVERBLEED], [1], [Define to 1 if you have `neverbleed` library.]) + fi fi AM_CONDITIONAL([ENABLE_THIRD_PARTY], [ test "x${enable_third_party}" = "xyes" ]) +AM_CONDITIONAL([HAVE_MRUBY], [test "x${have_mruby}" = "xyes"]) +AM_CONDITIONAL([HAVE_NEVERBLEED], [test "x${have_neverbleed}" = "xyes"]) # Python bindings enable_python_bindings=no @@ -679,6 +677,11 @@ CFLAGS=$ac_save_CFLAGS AC_SUBST([WARNCFLAGS]) +EXTRACFLAG= +AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [EXTRACFLAG="-fvisibility=hidden"]) + +AC_SUBST([EXTRACFLAG]) + if test "x$debug" != "xno"; then AC_DEFINE([DEBUGBUILD], [1], [Define to 1 to enable debug output.]) fi @@ -692,6 +695,9 @@ if test "x$threads" != "xyes" || AC_DEFINE([NOTHREADS], [1], [Define to 1 if you want to disable threads.]) fi +# propagate $enable_static to tests/Makefile.am +AM_CONDITIONAL([ENABLE_STATIC], [test "x$enable_static" = "xyes"]) + AC_SUBST([TESTLDADD]) AC_SUBST([APPLDFLAGS]) @@ -738,20 +744,28 @@ AC_OUTPUT AC_MSG_NOTICE([summary of build options: - Version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - C compiler: ${CC} - CFLAGS: ${CFLAGS} - WARNCFLAGS: ${WARNCFLAGS} - LDFLAGS: ${LDFLAGS} - LIBS: ${LIBS} - CPPFLAGS: ${CPPFLAGS} - C preprocessor: ${CPP} - C++ compiler: ${CXX} - CXXFLAGS: ${CXXFLAGS} - CXXCPP: ${CXXCPP} - Library types: Shared=${enable_shared}, Static=${enable_static} + Package version: ${VERSION} + Library version: $LT_CURRENT:$LT_REVISION:$LT_AGE + Install prefix: ${prefix} + System types: + Build: ${build} + Host: ${host} + Target: ${target} + Compiler: + C compiler: ${CC} + CFLAGS: ${CFLAGS} + LDFLAGS: ${LDFLAGS} + C++ compiler: ${CXX} + CXXFLAGS: ${CXXFLAGS} + CXXCPP: ${CXXCPP} + C preprocessor: ${CPP} + CPPFLAGS: ${CPPFLAGS} + WARNCFLAGS: ${WARNCFLAGS} + EXTRACFLAG: ${EXTRACFLAG} + LIBS: ${LIBS} + Library: + Shared: ${enable_shared} + Static: ${enable_static} Python: Python: ${PYTHON} PYTHON_VERSION: ${PYTHON_VERSION} @@ -761,24 +775,26 @@ AC_MSG_NOTICE([summary of build options: PYTHON_LDFLAGS: ${PYTHON_LDFLAGS} Cython: ${CYTHON} Test: - CUnit: ${have_cunit} + CUnit: ${have_cunit} (CFLAGS='${CUNIT_CFLAGS}' LIBS='${CUNIT_LIBS}') Failmalloc: ${enable_failmalloc} Libs: - OpenSSL: ${have_openssl} - Libxml2: ${have_libxml2} - Libev: ${have_libev} - Libevent(SSL): ${have_libevent_openssl} - Spdylay: ${have_spdylay} - MRuby: ${have_mruby} - Neverbleed: ${have_neverbleed} - Jansson: ${have_jansson} - Jemalloc: ${have_jemalloc} - Zlib: ${have_zlib} + OpenSSL: ${have_openssl} (CFLAGS='${OPENSSL_CFLAGS}' LIBS='${OPENSSL_LIBS}') + Libxml2: ${have_libxml2} (CFLAGS='${XML_CPPFLAGS}' LIBS='${XML_LIBS}') + Libev: ${have_libev} (CFLAGS='${LIBEV_CFLAGS}' LIBS='${LIBEV_LIBS}') + Libevent(SSL): ${have_libevent_openssl} (CFLAGS='${LIBEVENT_OPENSSL_CFLAGS}' LIBS='${LIBEVENT_OPENSSL_LIBS}') + Spdylay: ${have_spdylay} (CFLAGS='${LIBSPDYLAY_CFLAGS}' LIBS='${LIBSPDYLAY_LIBS}') + Jansson: ${have_jansson} (CFLAGS='${JANSSON_CFLAGS}' LIBS='${JANSSON_LIBS}') + Jemalloc: ${have_jemalloc} (LIBS='${JEMALLOC_LIBS}') + Zlib: ${have_zlib} (CFLAGS='${ZLIB_CFLAGS}' LIBS='${ZLIB_LIBS}') Boost CPPFLAGS: ${BOOST_CPPFLAGS} Boost LDFLAGS: ${BOOST_LDFLAGS} Boost::ASIO: ${BOOST_ASIO_LIB} Boost::System: ${BOOST_SYSTEM_LIB} Boost::Thread: ${BOOST_THREAD_LIB} + Third-party: + http-parser: ${enable_third_party} + MRuby: ${have_mruby} (CFLAGS='${LIBMRUBY_CFLAGS}' LIBS='${LIBMRUBY_LIBS}') + Neverbleed: ${have_neverbleed} Features: Applications: ${enable_app} HPACK tools: ${enable_hpack_tools} @@ -786,5 +802,4 @@ AC_MSG_NOTICE([summary of build options: Examples: ${enable_examples} Python bindings:${enable_python_bindings} Threading: ${enable_threads} - Third-party: ${enable_third_party} ]) diff --git a/contrib/nghttpx.service.in b/contrib/nghttpx.service.in index 58a39969..537f7c61 100644 --- a/contrib/nghttpx.service.in +++ b/contrib/nghttpx.service.in @@ -1,11 +1,10 @@ [Unit] -Description=HTTP/2 experimental proxy +Description=HTTP/2 proxy After=network.target [Service] Type=forking ExecStart=@bindir@/nghttpx --conf=/etc/nghttpx/nghttpx.conf --pid-file=/run/nghttpx.pid --daemon -PIDFile=/run/nghttpx.pid [Install] WantedBy=multi-user.target diff --git a/doc/Makefile.am b/doc/Makefile.am index d1e41e4a..71b9c8dd 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -32,12 +32,20 @@ APIDOCS= \ nghttp2_hd_deflate_bound.rst \ nghttp2_hd_deflate_change_table_size.rst \ nghttp2_hd_deflate_del.rst \ + nghttp2_hd_deflate_get_dynamic_table_size.rst \ + nghttp2_hd_deflate_get_max_dynamic_table_size.rst \ + nghttp2_hd_deflate_get_num_table_entries.rst \ + nghttp2_hd_deflate_get_table_entry.rst \ nghttp2_hd_deflate_hd.rst \ nghttp2_hd_deflate_new.rst \ nghttp2_hd_deflate_new2.rst \ nghttp2_hd_inflate_change_table_size.rst \ nghttp2_hd_inflate_del.rst \ nghttp2_hd_inflate_end_headers.rst \ + nghttp2_hd_inflate_get_dynamic_table_size.rst \ + nghttp2_hd_inflate_get_max_dynamic_table_size.rst \ + nghttp2_hd_inflate_get_num_table_entries.rst \ + nghttp2_hd_inflate_get_table_entry.rst \ nghttp2_hd_inflate_hd.rst \ nghttp2_hd_inflate_new.rst \ nghttp2_hd_inflate_new2.rst \ @@ -100,6 +108,7 @@ APIDOCS= \ nghttp2_session_mem_recv.rst \ nghttp2_session_mem_send.rst \ nghttp2_session_recv.rst \ + nghttp2_session_request_allowed.rst \ nghttp2_session_resume_data.rst \ nghttp2_session_send.rst \ nghttp2_session_server_new.rst \ diff --git a/doc/_themes/sphinx_rtd_theme/__init__.py b/doc/_themes/sphinx_rtd_theme/__init__.py index 95ddc52a..88ddcce2 100644 --- a/doc/_themes/sphinx_rtd_theme/__init__.py +++ b/doc/_themes/sphinx_rtd_theme/__init__.py @@ -5,7 +5,7 @@ From https://github.com/ryan-roemer/sphinx-bootstrap-theme. """ import os -VERSION = (0, 1, 8) +VERSION = (0, 1, 9) __version__ = ".".join(str(v) for v in VERSION) __version_full__ = __version__ diff --git a/doc/_themes/sphinx_rtd_theme/breadcrumbs.html b/doc/_themes/sphinx_rtd_theme/breadcrumbs.html index 0028421e..7c2ce5c8 100644 --- a/doc/_themes/sphinx_rtd_theme/breadcrumbs.html +++ b/doc/_themes/sphinx_rtd_theme/breadcrumbs.html @@ -1,23 +1,31 @@ +{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #} + +{% if page_source_suffix %} +{% set suffix = page_source_suffix %} +{% else %} +{% set suffix = source_suffix %} +{% endif %} +
diff --git a/doc/_themes/sphinx_rtd_theme/footer.html b/doc/_themes/sphinx_rtd_theme/footer.html index 6347a440..f4396eec 100644 --- a/doc/_themes/sphinx_rtd_theme/footer.html +++ b/doc/_themes/sphinx_rtd_theme/footer.html @@ -22,9 +22,23 @@ {%- endif %} {%- endif %} - {%- if last_updated %} + {%- if build_id and build_url %} + {% trans build_url=build_url, build_id=build_id %} + + Build + {{ build_id }}. + + {% endtrans %} + {%- elif commit %} + {% trans commit=commit %} + + Revision{{ commit }}
.
+
+ {% endtrans %}
+ {%- elif last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
+
@@ -32,5 +46,7 @@
{% trans %}Built with Sphinx using a theme provided by Read the Docs{% endtrans %}.
{%- endif %}
+ {%- block extrafooter %} {% endblock %}
+
diff --git a/doc/_themes/sphinx_rtd_theme/layout.html b/doc/_themes/sphinx_rtd_theme/layout.html
index 9481d8b4..44978c96 100644
--- a/doc/_themes/sphinx_rtd_theme/layout.html
+++ b/doc/_themes/sphinx_rtd_theme/layout.html
@@ -75,7 +75,7 @@
{%- block extrahead %} {% endblock %}
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
-
+
@@ -85,38 +85,51 @@
{# SIDE NAV, TOGGLES ON MOBILE #}