5492ca5edf
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.
124 lines
4.2 KiB
Text
124 lines
4.2 KiB
Text
# $NetBSD: Makefile.common,v 1.15 2019/05/06 09:38:48 adam Exp $
|
|
# used by www/nginx/Makefile
|
|
# used by www/nginx-devel/Makefile
|
|
|
|
# Used by both www/nginx and www/nginx-devel
|
|
# Do *not* add any version-specific data here, any change
|
|
# in this file will affect both packages
|
|
|
|
CATEGORIES= www
|
|
MASTER_SITES= http://nginx.org/download/
|
|
DISTFILES= ${DEFAULT_DISTFILES}
|
|
|
|
HOMEPAGE= http://nginx.org/
|
|
COMMENT= Lightweight HTTP server and mail proxy server
|
|
LICENSE= 2-clause-bsd
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
NGINX_USER?= nginx
|
|
NGINX_GROUP?= nginx
|
|
NGINX_DATADIR?= ${VARBASE}/db/nginx
|
|
NGINX_LOGDIR?= ${VARBASE}/log/nginx
|
|
NGINX_PIDDIR?= ${VARBASE}/run
|
|
|
|
BUILD_DEFS+= NGINX_DATADIR NGINX_LOGDIR NGINX_PIDDIR VARBASE
|
|
|
|
PKG_USERS_VARS+= NGINX_USER
|
|
PKG_GROUPS_VARS+= NGINX_GROUP
|
|
PKG_GROUPS= ${NGINX_GROUP}
|
|
PKG_USERS= ${NGINX_USER}:${NGINX_GROUP}
|
|
|
|
PKG_GECOS.${NGINX_USER}=NGINX server user
|
|
PKG_HOME.${NGINX_USER}= ${NGINX_DATADIR}
|
|
PKG_SHELL.${NGINX_USER}=${NOLOGIN}
|
|
|
|
USE_PKGLOCALEDIR= yes
|
|
HAS_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --user=${NGINX_USER}
|
|
CONFIGURE_ARGS+= --group=${NGINX_GROUP}
|
|
CONFIGURE_ARGS+= --with-ld-opt=-L${PREFIX}/lib\ -Wl,-R${PREFIX}/lib
|
|
CONFIGURE_ARGS+= --prefix=${PREFIX}
|
|
CONFIGURE_ARGS+= --sbin-path=${PREFIX}/sbin
|
|
CONFIGURE_ARGS+= --conf-path=${PKG_SYSCONFDIR}/nginx.conf
|
|
CONFIGURE_ARGS+= --pid-path=${NGINX_PIDDIR}/nginx.pid
|
|
CONFIGURE_ARGS+= --lock-path=${NGINX_DATADIR}/nginx.lock
|
|
CONFIGURE_ARGS+= --error-log-path=${NGINX_LOGDIR}/error.log
|
|
CONFIGURE_ARGS+= --http-log-path=${NGINX_LOGDIR}/access.log
|
|
CONFIGURE_ARGS+= --http-client-body-temp-path=${NGINX_DATADIR}/client_body_temp
|
|
CONFIGURE_ARGS+= --http-proxy-temp-path=${NGINX_DATADIR}/proxy_temp
|
|
CONFIGURE_ARGS+= --http-fastcgi-temp-path=${NGINX_DATADIR}/fstcgi_temp
|
|
CONFIGURE_ARGS+= --http-scgi-temp-path=${NGINX_DATADIR}/scgi_temp
|
|
|
|
PKG_SYSCONFSUBDIR= nginx
|
|
|
|
.include "../../www/nginx/options.mk"
|
|
|
|
EGDIR= ${PREFIX}/share/examples/nginx
|
|
EGFILES+= fastcgi.conf fastcgi_params koi-utf koi-win \
|
|
mime.types nginx.conf win-utf
|
|
|
|
.for file in ${EGFILES}
|
|
CONF_FILES+= ${EGDIR}/conf/${file} ${PKG_SYSCONFDIR}/${file}
|
|
. if !empty(PKG_OPTIONS:Mnaxsi)
|
|
CONF_FILES+= ${EGDIR}/conf/naxsi_core.rules ${PKG_SYSCONFDIR}/naxsi_core.rules
|
|
. endif
|
|
.endfor
|
|
|
|
RCD_SCRIPTS= nginx
|
|
|
|
INSTALLATION_DIRS+= ${PKGMANDIR}/man8 sbin share/examples/nginx/conf \
|
|
share/examples/nginx/html
|
|
MAKE_DIRS+= ${NGINX_PIDDIR}
|
|
OWN_DIRS= ${NGINX_LOGDIR}
|
|
OWN_DIRS_PERMS+= ${NGINX_DATADIR} ${NGINX_USER} ${NGINX_GROUP} 0700
|
|
|
|
BUILD_TARGET= build
|
|
|
|
SUBST_CLASSES+= prefix
|
|
SUBST_STAGE.prefix= pre-configure
|
|
SUBST_FILES.prefix= auto/lib/pcre/conf
|
|
SUBST_VARS.prefix= PREFIX
|
|
|
|
SUBST_CLASSES+= paths
|
|
SUBST_STAGE.paths= pre-configure
|
|
SUBST_FILES.paths= conf/nginx.conf
|
|
SUBST_SED.paths= -e 's,%%PKG_SYSCONFDIR%%,${PKG_SYSCONFDIR},g'
|
|
SUBST_SED.paths+= -e 's,%%NGINX_LOGDIR%%,${NGINX_LOGDIR},g'
|
|
SUBST_SED.paths+= -e 's,%%NGINX_PIDDIR%%,${NGINX_PIDDIR},g'
|
|
SUBST_SED.paths+= -e 's,%%NGINX_USER%%,${NGINX_USER},g'
|
|
SUBST_SED.paths+= -e 's,%%NGINX_GROUP%%,${NGINX_GROUP},g'
|
|
|
|
MESSAGE_SUBST+= NGINX_LOGDIR=${NGINX_LOGDIR}
|
|
MESSAGE_SUBST+= NGINX_PIDDIR=${NGINX_PIDDIR}
|
|
MESSAGE_SUBST+= NGINX_USER=${NGINX_USER}
|
|
MESSAGE_SUBST+= NGINX_GROUP=${NGINX_GROUP}
|
|
|
|
.if ${OPSYS} == "Darwin"
|
|
SOEXT= bundle
|
|
.else
|
|
SOEXT= so
|
|
.endif
|
|
PLIST_SUBST+= SOEXT=${SOEXT}
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${DESTDIR}${PREFIX}/sbin/nginx
|
|
.for file in ${EGFILES}
|
|
${INSTALL_DATA} ${WRKSRC}/conf/${file} ${DESTDIR}${EGDIR}/conf/${file}
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/html/50x.html ${DESTDIR}${EGDIR}/html/50x.html
|
|
${INSTALL_DATA} ${WRKSRC}/html/index.html ${DESTDIR}${EGDIR}/html/index.html
|
|
${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8
|
|
.if !empty(PKG_OPTIONS:Mnaxsi)
|
|
${INSTALL_DATA} ${WRKDIR}/${NAXSI_DISTNAME}/naxsi_config/naxsi_core.rules ${DESTDIR}${EGDIR}/conf
|
|
.endif
|
|
.if !empty(PKG_OPTIONS:Mperl)
|
|
${INSTALL_LIB_DIR} ${DESTDIR}${PERL5_INSTALLVENDORARCH}/auto/nginx
|
|
${INSTALL_LIB} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.${SOEXT} \
|
|
${DESTDIR}${PERL5_INSTALLVENDORARCH}/auto/nginx
|
|
${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \
|
|
${DESTDIR}${PERL5_INSTALLVENDORARCH}
|
|
.endif
|
|
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|