pkgsrc/www/nginx/options.mk
adam 5492ca5edf nginx: updated to 1.16.0
Changes with nginx 1.16.0                                        23 Apr 2019

    *) 1.16.x stable branch.


Changes with nginx 1.15.12                                       16 Apr 2019

    *) Bugfix: a segmentation fault might occur in a worker process if
       variables were used in the "ssl_certificate" or "ssl_certificate_key"
       directives and OCSP stapling was enabled.


Changes with nginx 1.15.11                                       09 Apr 2019

    *) Bugfix: in the "ssl_stapling_file" directive on Windows.


Changes with nginx 1.15.10                                       26 Mar 2019

    *) Change: when using a hostname in the "listen" directive nginx now
       creates listening sockets for all addresses the hostname resolves to
       (previously, only the first address was used).

    *) Feature: port ranges in the "listen" directive.

    *) Feature: loading of SSL certificates and secret keys from variables.

    *) Workaround: the $ssl_server_name variable might be empty when using
       OpenSSL 1.1.1.

    *) Bugfix: nginx/Windows could not be built with Visual Studio 2015 or
       newer; the bug had appeared in 1.15.9.


Changes with nginx 1.15.9                                        26 Feb 2019

    *) Feature: variables support in the "ssl_certificate" and
       "ssl_certificate_key" directives.

    *) Feature: the "poll" method is now available on Windows when using
       Windows Vista or newer.

    *) Bugfix: if the "select" method was used on Windows and an error
       occurred while establishing a backend connection, nginx waited for
       the connection establishment timeout to expire.

    *) Bugfix: the "proxy_upload_rate" and "proxy_download_rate" directives
       in the stream module worked incorrectly when proxying UDP datagrams.


Changes with nginx 1.15.8                                        25 Dec 2018

    *) Feature: the $upstream_bytes_sent variable.
       Thanks to Piotr Sikora.

    *) Feature: new directives in vim syntax highlighting scripts.
       Thanks to Gena Makhomed.

    *) Bugfix: in the "proxy_cache_background_update" directive.

    *) Bugfix: in the "geo" directive when using unix domain listen sockets.

    *) Workaround: the "ignoring stale global SSL error ... bad length"
       alerts might appear in logs when using the "ssl_early_data" directive
       with OpenSSL.

    *) Bugfix: in nginx/Windows.

    *) Bugfix: in the ngx_http_autoindex_module on 32-bit platforms.


Changes with nginx 1.15.7                                        27 Nov 2018

    *) Feature: the "proxy_requests" directive in the stream module.

    *) Feature: the "delay" parameter of the "limit_req" directive.
       Thanks to Vladislav Shabanov and Peter Shchuchkin.

    *) Bugfix: memory leak on errors during reconfiguration.

    *) Bugfix: in the $upstream_response_time, $upstream_connect_time, and
       $upstream_header_time variables.

    *) Bugfix: a segmentation fault might occur in a worker process if the
       ngx_http_mp4_module was used on 32-bit platforms.


Changes with nginx 1.15.6                                        06 Nov 2018

    *) Security: when using HTTP/2 a client might cause excessive memory
       consumption (CVE-2018-16843) and CPU usage (CVE-2018-16844).

    *) Security: processing of a specially crafted mp4 file with the
       ngx_http_mp4_module might result in worker process memory disclosure
       (CVE-2018-16845).

    *) Feature: the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
       "grpc_socket_keepalive", "memcached_socket_keepalive",
       "scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.

    *) Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL
       1.1.1, the TLS 1.3 protocol was always enabled.

    *) Bugfix: working with gRPC backends might result in excessive memory
       consumption.


Changes with nginx 1.15.5                                        02 Oct 2018

    *) Bugfix: a segmentation fault might occur in a worker process when
       using OpenSSL 1.1.0h or newer; the bug had appeared in 1.15.4.

    *) Bugfix: of minor potential bugs.


Changes with nginx 1.15.4                                        25 Sep 2018

    *) Feature: now the "ssl_early_data" directive can be used with OpenSSL.

    *) Bugfix: in the ngx_http_uwsgi_module.
       Thanks to Chris Caputo.

    *) Bugfix: connections with some gRPC backends might not be cached when
       using the "keepalive" directive.

    *) Bugfix: a socket leak might occur when using the "error_page"
       directive to redirect early request processing errors, notably errors
       with code 400.

    *) Bugfix: the "return" directive did not change the response code when
       returning errors if the request was redirected by the "error_page"
       directive.

    *) Bugfix: standard error pages and responses of the
       ngx_http_autoindex_module module used the "bgcolor" attribute, and
       might be displayed incorrectly when using custom color settings in
       browsers.
       Thanks to Nova DasSarma.

    *) Change: the logging level of the "no suitable key share" and "no
       suitable signature algorithm" SSL errors has been lowered from "crit"
       to "info".


Changes with nginx 1.15.3                                        28 Aug 2018

    *) Feature: now TLSv1.3 can be used with BoringSSL.

    *) Feature: the "ssl_early_data" directive, currently available with
       BoringSSL.

    *) Feature: the "keepalive_timeout" and "keepalive_requests" directives
       in the "upstream" block.

    *) Bugfix: the ngx_http_dav_module did not truncate destination file
       when copying a file over an existing one with the COPY method.

    *) Bugfix: the ngx_http_dav_module used zero access rights on the
       destination file and did not preserve file modification time when
       moving a file between different file systems with the MOVE method.

    *) Bugfix: the ngx_http_dav_module used default access rights when
       copying a file with the COPY method.

    *) Workaround: some clients might not work when using HTTP/2; the bug
       had appeared in 1.13.5.

    *) Bugfix: nginx could not be built with LibreSSL 2.8.0.


Changes with nginx 1.15.2                                        24 Jul 2018

    *) Feature: the $ssl_preread_protocol variable in the
       ngx_stream_ssl_preread_module.

    *) Feature: now when using the "reset_timedout_connection" directive
       nginx will reset connections being closed with the 444 code.

    *) Change: a logging level of the "http request", "https proxy request",
       "unsupported protocol", and "version too low" SSL errors has been
       lowered from "crit" to "info".

    *) Bugfix: DNS requests were not resent if initial sending of a request
       failed.

    *) Bugfix: the "reuseport" parameter of the "listen" directive was
       ignored if the number of worker processes was specified after the
       "listen" directive.

    *) Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to
       switch off "ssl_prefer_server_ciphers" in a virtual server if it was
       switched on in the default server.

    *) Bugfix: SSL session reuse with upstream servers did not work with the
       TLS 1.3 protocol.


Changes with nginx 1.15.1                                        03 Jul 2018

    *) Feature: the "random" directive inside the "upstream" block.

    *) Feature: improved performance when using the "hash" and "ip_hash"
       directives with the "zone" directive.

    *) Feature: the "reuseport" parameter of the "listen" directive now uses
       SO_REUSEPORT_LB on FreeBSD 12.

    *) Bugfix: HTTP/2 server push did not work if SSL was terminated by a
       proxy server in front of nginx.

    *) Bugfix: the "tcp_nopush" directive was always used on backend
       connections.

    *) Bugfix: sending a disk-buffered request body to a gRPC backend might
       fail.


Changes with nginx 1.15.0                                        05 Jun 2018

    *) Change: the "ssl" directive is deprecated; the "ssl" parameter of the
       "listen" directive should be used instead.

    *) Change: now nginx detects missing SSL certificates during
       configuration testing when using the "ssl" parameter of the "listen"
       directive.

    *) Feature: now the stream module can handle multiple incoming UDP
       datagrams from a client within a single session.

    *) Bugfix: it was possible to specify an incorrect response code in the
       "proxy_cache_valid" directive.

    *) Bugfix: nginx could not be built by gcc 8.1.

    *) Bugfix: logging to syslog stopped on local IP address changes.

    *) Bugfix: nginx could not be built by clang with CUDA SDK installed;
       the bug had appeared in 1.13.8.

    *) Bugfix: "getsockopt(TCP_FASTOPEN) ... failed" messages might appear
       in logs during binary upgrade when using unix domain listen sockets
       on FreeBSD.

    *) Bugfix: nginx could not be built on Fedora 28 Linux.

    *) Bugfix: request processing rate might exceed configured rate when
       using the "limit_req" directive.

    *) Bugfix: in handling of client addresses when using unix domain listen
       sockets to work with datagrams on Linux.

    *) Bugfix: in memory allocation error handling.
2019-05-06 09:38:48 +00:00

234 lines
7.4 KiB
Makefile

# $NetBSD: options.mk,v 1.50 2019/05/06 09:38:48 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.nginx
PKG_SUPPORTED_OPTIONS= dav flv gtools inet6 luajit mail-proxy memcache naxsi \
pcre push realip ssl sub uwsgi image-filter \
debug status nginx-autodetect-cflags echo \
set-misc headers-more array-var encrypted-session \
form-input perl gzip http2 auth-request secure-link rtmp
PKG_OPTIONS_LEGACY_OPTS+= v2:http2
PKG_SUGGESTED_OPTIONS= inet6 pcre ssl
PLIST_VARS+= naxsi perl uwsgi
.include "../../mk/bsd.options.mk"
# documentation says naxsi must be the first module
.if !empty(PKG_OPTIONS:Mnaxsi)
PLIST.naxsi= yes
CONFIGURE_ARGS+= --add-module=../${NAXSI_DISTNAME}/naxsi_src
.endif
.if !empty(PKG_OPTIONS:Mnaxsi) || make(makesum)
NAXSI_VERSION= 0.56
NAXSI_DISTNAME= naxsi-${NAXSI_VERSION}
NAXSI_DISTFILE= ${NAXSI_DISTNAME}.tar.gz
SITES.${NAXSI_DISTFILE}=-https://github.com/nbs-system/naxsi/archive/${NAXSI_VERSION}.tar.gz
DISTFILES+= ${NAXSI_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mdebug)
CONFIGURE_ARGS+= --with-debug
.endif
.if !empty(PKG_OPTIONS:Mssl)
.include "../../security/openssl/buildlink3.mk"
CONFIGURE_ARGS+= --with-mail_ssl_module
CONFIGURE_ARGS+= --with-http_ssl_module
.endif
.if !empty(PKG_OPTIONS:Mpcre)
.include "../../devel/pcre/buildlink3.mk"
CONFIGURE_ARGS+= --with-pcre-jit
.else
CONFIGURE_ARGS+= --without-pcre
CONFIGURE_ARGS+= --without-http_rewrite_module
.endif
.if !empty(PKG_OPTIONS:Mdav)
CONFIGURE_ARGS+= --with-http_dav_module
.endif
.if !empty(PKG_OPTIONS:Mflv)
CONFIGURE_ARGS+= --with-http_flv_module
.endif
.if !empty(PKG_OPTIONS:Mhttp2)
CONFIGURE_ARGS+= --with-http_v2_module
.endif
.if !empty(PKG_OPTIONS:Msub)
CONFIGURE_ARGS+= --with-http_sub_module
.endif
.if !empty(PKG_OPTIONS:Mgtools)
CONFIGURE_ARGS+= --with-google_perftools_module
.include "../../devel/gperftools/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mmail-proxy)
CONFIGURE_ARGS+= --with-mail
.endif
.if empty(PKG_OPTIONS:Mmemcache)
CONFIGURE_ARGS+= --without-http_memcached_module
.endif
.if !empty(PKG_OPTIONS:Mrealip)
CONFIGURE_ARGS+= --with-http_realip_module
.endif
# NDK must be added once and before 3rd party modules needing it
.for _ngx_mod in luajit set-misc array-var form-input encrypted-session
. if !defined(NEED_NDK) && !empty(PKG_OPTIONS:M${_ngx_mod}:O)
CONFIGURE_ARGS+= --add-module=../${NDK_DISTNAME}
NEED_NDK= yes
. endif
.endfor
.if defined(NEED_NDK) || make(makesum)
NDK_VERSION= 0.3.0
NDK_DISTNAME= ngx_devel_kit-${NDK_VERSION}
NDK_DISTFILE= ${NDK_DISTNAME}.tar.gz
SITES.${NDK_DISTFILE}= -https://github.com/simpl/ngx_devel_kit/archive/v${NDK_VERSION}.tar.gz
DISTFILES+= ${NDK_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mluajit)
.include "../../lang/LuaJIT2/buildlink3.mk"
CONFIGURE_ENV+= LUAJIT_LIB=${PREFIX}/lib
CONFIGURE_ENV+= LUAJIT_INC=${PREFIX}/include/luajit-2.0
CONFIGURE_ARGS+= --add-module=../${LUA_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mluajit) || make(makesum)
LUA_VERSION= 0.10.15
LUA_DISTNAME= lua-nginx-module-${LUA_VERSION}
LUA_DISTFILE= ${LUA_DISTNAME}.tar.gz
SITES.${LUA_DISTFILE}= -https://github.com/openresty/lua-nginx-module/archive/v${LUA_VERSION}.tar.gz
DISTFILES+= ${LUA_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mecho)
CONFIGURE_ARGS+= --add-module=../${ECHOMOD_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mecho) || make(makesum)
ECHOMOD_VERSION= 0.61
ECHOMOD_DISTNAME= echo-nginx-module-${ECHOMOD_VERSION}
ECHOMOD_DISTFILE= ${ECHOMOD_DISTNAME}.tar.gz
SITES.${ECHOMOD_DISTFILE}= -https://github.com/openresty/echo-nginx-module/archive/v${ECHOMOD_VERSION}.tar.gz
DISTFILES+= ${ECHOMOD_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mset-misc)
CONFIGURE_ARGS+= --add-module=../${SETMISC_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mset-misc) || make(makesum)
SETMISC_VERSION= 0.32
SETMISC_DISTNAME= set-misc-nginx-module-${SETMISC_VERSION}
SETMISC_DISTFILE= ${SETMISC_DISTNAME}.tar.gz
SITES.${SETMISC_DISTFILE}= -https://github.com/openresty/set-misc-nginx-module/archive/v${SETMISC_VERSION}.tar.gz
DISTFILES+= ${SETMISC_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Marray-var)
CONFIGURE_ARGS+= --add-module=../${ARRAYVAR_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Marray-var) || make(makesum)
ARRAYVAR_VERSION= 0.05
ARRAYVAR_DISTNAME= array-var-nginx-module-${ARRAYVAR_VERSION}
ARRAYVAR_DISTFILE= ${ARRAYVAR_DISTNAME}.tar.gz
SITES.${ARRAYVAR_DISTFILE}= -https://github.com/openresty/array-var-nginx-module/archive/v${ARRAYVAR_VERSION}.tar.gz
DISTFILES+= ${ARRAYVAR_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mencrypted-session)
CONFIGURE_ARGS+= --add-module=../${ENCSESS_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mencrypted-session) || make(makesum)
ENCSESS_VERSION= 0.08
ENCSESS_DISTNAME= encrypted-session-nginx-module-${ENCSESS_VERSION}
ENCSESS_DISTFILE= ${ENCSESS_DISTNAME}.tar.gz
SITES.${ENCSESS_DISTFILE}= -https://github.com/openresty/encrypted-session-nginx-module/archive/v${ENCSESS_VERSION}.tar.gz
DISTFILES+= ${ENCSESS_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mform-input)
CONFIGURE_ARGS+= --add-module=../${FORMINPUT_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mform-input) || make(makesum)
FORMINPUT_VERSION= 0.12
FORMINPUT_DISTNAME= form-input-nginx-module-${FORMINPUT_VERSION}
FORMINPUT_DISTFILE= ${FORMINPUT_DISTNAME}.tar.gz
SITES.${FORMINPUT_DISTFILE}= -https://github.com/calio/form-input-nginx-module/archive/v${FORMINPUT_VERSION}.tar.gz
DISTFILES+= ${FORMINPUT_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mheaders-more)
CONFIGURE_ARGS+= --add-module=../${HEADMORE_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mheaders-more) || make(makesum)
HEADMORE_VERSION= 0.33
HEADMORE_DISTNAME= headers-more-nginx-module-${HEADMORE_VERSION}
HEADMORE_DISTFILE= ${HEADMORE_DISTNAME}.tar.gz
SITES.${HEADMORE_DISTFILE}= -https://github.com/openresty/headers-more-nginx-module/archive/v${HEADMORE_VERSION}.tar.gz
DISTFILES+= ${HEADMORE_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Muwsgi)
EGFILES+= uwsgi_params
PLIST.uwsgi= yes
CONFIGURE_ARGS+= --http-uwsgi-temp-path=${NGINX_DATADIR}/uwsgi_temp
.else
CONFIGURE_ARGS+= --without-http_uwsgi_module
.endif
.if !empty(PKG_OPTIONS:Mpush)
CONFIGURE_ARGS+= --add-module=../nchan-${PUSH_VERSION}
.endif
.if !empty(PKG_OPTIONS:Mpush) || make(makesum)
PUSH_VERSION= 1.2.5
PUSH_DISTNAME= nginx_http_push_module-${PUSH_VERSION}
PUSH_DISTFILE= ${PUSH_DISTNAME}.tar.gz
SITES.${PUSH_DISTFILE}= -https://github.com/slact/nchan/archive/v${PUSH_VERSION}.tar.gz
DISTFILES+= ${PUSH_DISTFILE}
.endif
.if !empty(PKG_OPTIONS:Mimage-filter)
.include "../../graphics/gd/buildlink3.mk"
CONFIGURE_ARGS+= --with-http_image_filter_module
.endif
.if !empty(PKG_OPTIONS:Mstatus)
CONFIGURE_ARGS+= --with-http_stub_status_module
.endif
.if !empty(PKG_OPTIONS:Mperl)
CONFIGURE_ARGS+= --with-http_perl_module
CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
INSTALLATION_DIRS+= ${PERL5_INSTALLVENDORARCH}/auto/nginx
PLIST.perl= yes
.include "../../lang/perl5/dirs.mk"
.include "../../lang/perl5/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mgzip)
CONFIGURE_ARGS+= --with-http_gzip_static_module
.endif
.if !empty(PKG_OPTIONS:Mauth-request)
CONFIGURE_ARGS+= --with-http_auth_request_module
.endif
.if !empty(PKG_OPTIONS:Msecure-link)
CONFIGURE_ARGS+= --with-http_secure_link_module
.endif
.if !empty(PKG_OPTIONS:Mrtmp)
CONFIGURE_ARGS+= --add-module=../${RTMP_DISTNAME}
.endif
.if !empty(PKG_OPTIONS:Mrtmp) || make(makesum)
RTMP_VERSION= 1.2.1
RTMP_DISTNAME= nginx-rtmp-module-${RTMP_VERSION}
RTMP_DISTFILE= ${RTMP_DISTNAME}.tar.gz
SITES.${RTMP_DISTFILE}= -https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_VERSION}.tar.gz
DISTFILES+= ${RTMP_DISTFILE}
.endif