Skip to content

Commit

Permalink
Upgrade to Angie 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
eilandert committed Jul 4, 2024
1 parent c2726e7 commit 5d7ff76
Show file tree
Hide file tree
Showing 117 changed files with 7,420 additions and 2,639 deletions.
38 changes: 38 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,42 @@

Changes with Angie 1.6.0 28 Jun 2024

*) Feature: the "sticky" directive and related options in the "stream"
module's "upstream" block, which allow to configure sticky sessions
mode where all connections in the session are routed to the same
server.

*) Feature: extraction of Cookie values from RDP connections using the
"rdp_preread" directive in the "stream" module into "$rdp_cookie" и
"$rdp_cookie_NAME" variables, which allows to log and stick RDP
client sessions to particular servers while load balancing.

*) Feature: support for multiple "acme" directives in a "server" block,
which allows to configure obtaining two types of certificates at once
for that virtual server.

*) Feature: command line options "-m" and "-M" to list built-in and
loaded modules.

*) Feature: support for BoringSSL in the ACME module.

*) Feature: all functionality of nginx 1.27.0, including support for
virtual servers in the "stream" module and the "pass" directive,
which allows to pass accepted connections for handling to another
listening sockets, including HTTP and Mail modules.

*) Bugfix: certificate request via the ACME protocol could result in
error on some configurations with a log message like "[alert]
getsockname() failed (9: Bad file descriptor)".

*) Bugfix: certificate request with large number of domain names via the
ACME protocol could result in error with a log message like "[error]
JSON parser error".

*) Bugfix: ACME clients in configurations with multiple "error_log"
directives could log messages to irrelevant logs.


Changes with freenginx 1.27.1 04 Jun 2024

*) Feature: the "max_headers" directive.
Expand Down
39 changes: 39 additions & 0 deletions CHANGES.ru
Original file line number Diff line number Diff line change
@@ -1,4 +1,43 @@

Изменения в Angie 1.6.0 28.06.2024

*) Добавление: директива "sticky" и сопутствующие настройки в блоке
"upstream" stream-модуля, позволяющие задать режим привязки сессий,
при котором все соединения в рамках сессии будут направляться на один
и тот же сервер.

*) Добавление: извлечение значений Cookie из RDP-соединений с помощью
директивы "rdp_preread" stream-модуля в переменные "$rdp_cookie" и
"$rdp_cookie_NAME", что позволяет логгировать и привязывать
RDP-сеансы клиентов к одним и тем же серверам при балансировке
нагрузки.

*) Добавление: возможность указать несколько директив "acme" в одном
блоке "server", что позволяет настраивать получение сертификатов
сразу двух типов в рамках данного виртуального сервера.

*) Добавление: ключи командной строки "-m" и "-M" для отображения списка
встроенных и загруженных модулей.

*) Добавление: поддержка BoringSSL в модуле ACME.

*) Добавление: вся функциональность nginx 1.27.0, включая поддержку
виртуальных серверов в модуле "stream" и директиву "pass",
позволяющую передавать принятые соединения на обработку в другие
слушающие сокеты, в том числе модулей HTTP и Mail.

*) Исправление: запрос сертификата по протоколу ACME мог завершаться
ошибкой в некоторых конфигурациях с сообщением в логе вида "[alert]
getsockname() failed (9: Bad file descriptor)".

*) Исправление: запрос сертификата с большим количеством доменных имен
по протоколу ACME мог завершаться ошибкой с сообщением в логе вида
"[error] JSON parser error".

*) Исправление: ACME-клиенты в конфигурациях с несколькими директивами
"error_log" могли выводить сообщения в несоответствующие логи.


Изменения в freenginx 1.27.1 04.06.2024

*) Добавление: директива max_headers.
Expand Down
46 changes: 46 additions & 0 deletions auto/build_info
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

# Copyright (C) 2024 Web Server LLC

echo $ngx_n "collecting build environment information...$ngx_c"

$CC -include $NGX_AUTO_CONFIG_H -E -dM - < /dev/null >/dev/null 2>&1
if [ $? -ne 0 ]; then
cat <<EOF >> $NGX_MODULES_C
void
ngx_show_build_info()
{
ngx_write_stderr("environment information was disabled during build\n");
}
EOF

echo "skipped, no support found in selected CC"

else

cat <<EOF >> $NGX_MODULES_C
void
ngx_show_build_info()
{
EOF

$CC -include $NGX_AUTO_CONFIG_H -E -dM - < /dev/null \
| grep NGX \
| sed 's/#define //g;s/"/\\"/g;s/NGX_HAVE_//g;s/NGX_//g' \
| sort \
| awk '
{
printf(" ngx_write_stderr(\"%s\" \": \"\"", $1);
for (i = 2; i <= NF; i++) {
printf("%s", $i);
if (i != NF && NF > 2) {
printf(" ");
}
}
printf("\"\"\\n\");\n");
}' >> $NGX_MODULES_C

echo "}
" >> $NGX_MODULES_C

echo " ok"
fi
2 changes: 1 addition & 1 deletion auto/install
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ install: build $NGX_INSTALL_PERL_MODULES
test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \\
|| mv '\$(DESTDIR)$NGX_SBIN_PATH' \\
'\$(DESTDIR)$NGX_SBIN_PATH.old'
cp $NGX_OBJS/angie '\$(DESTDIR)$NGX_SBIN_PATH'
cp $NGX_OBJS/angie$ngx_binext '\$(DESTDIR)$NGX_SBIN_PATH'

test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \\
|| mkdir -p '\$(DESTDIR)$NGX_CONF_PREFIX'
Expand Down
17 changes: 17 additions & 0 deletions auto/lib/geoip/conf
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,23 @@ if [ $ngx_found = no ]; then
fi


if [ $ngx_found = no ]; then

# Homebrew on Apple Silicon

ngx_feature="GeoIP library in /opt/homebrew/"
ngx_feature_path="/opt/homebrew/include"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lGeoIP"
else
ngx_feature_libs="-L/opt/homebrew/lib -lGeoIP"
fi

. auto/feature
fi


if [ $ngx_found = yes ]; then

CORE_INCS="$CORE_INCS $ngx_feature_path"
Expand Down
16 changes: 16 additions & 0 deletions auto/lib/google-perftools/conf
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,22 @@ if [ $ngx_found = no ]; then
fi


if [ $ngx_found = no ]; then

# Homebrew on Apple Silicon

ngx_feature="Google perftools in /opt/homebrew/"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lprofiler"
else
ngx_feature_libs="-L/opt/homebrew/lib -lprofiler"
fi

. auto/feature
fi


if [ $ngx_found = yes ]; then
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"

Expand Down
2 changes: 1 addition & 1 deletion auto/lib/libatomic/conf
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ else
#include <atomic_ops.h>"
ngx_feature_path=
ngx_feature_libs="-latomic_ops"
ngx_feature_test="long n = 0;
ngx_feature_test="AO_t n = 0;
if (!AO_compare_and_swap(&n, 0, 1))
return 1;
if (AO_fetch_and_add(&n, 1) != 1)
Expand Down
17 changes: 17 additions & 0 deletions auto/lib/libgd/conf
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,23 @@ if [ $ngx_found = no ]; then
fi


if [ $ngx_found = no ]; then

# Homebrew on Apple Silicon

ngx_feature="GD library in /opt/homebrew/"
ngx_feature_path="/opt/homebrew/include"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lgd"
else
ngx_feature_libs="-L/opt/homebrew/lib -lgd"
fi

. auto/feature
fi


if [ $ngx_found = yes ]; then

CORE_INCS="$CORE_INCS $ngx_feature_path"
Expand Down
28 changes: 25 additions & 3 deletions auto/lib/openssl/conf
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,24 @@ else
. auto/feature
fi

if [ $ngx_found = no ]; then

# Homebrew on Apple Silicon

ngx_feature="OpenSSL library in /opt/homebrew/"
ngx_feature_path="/opt/homebrew/include"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lssl -lcrypto"
else
ngx_feature_libs="-L/opt/homebrew/lib -lssl -lcrypto"
fi

ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"

. auto/feature
fi

if [ $ngx_found = yes ]; then
have=NGX_SSL . auto/have
CORE_INCS="$CORE_INCS $ngx_feature_path"
Expand Down Expand Up @@ -168,14 +186,18 @@ END
RSA_get0_key(NULL, NULL, NULL, NULL);
EC_POINT_get_affine_coordinates(NULL, NULL, NULL, NULL, NULL);
ECDSA_SIG_get0(NULL, NULL, NULL);
X509V3_EXT_conf_nid(NULL, NULL, NID_tlsfeature, NULL);
ASN1_TIME_to_tm(NULL, NULL)"
#ifndef OPENSSL_IS_BORINGSSL
X509V3_EXT_conf_nid(NULL, NULL, NID_tlsfeature, NULL);
#else
X509V3_EXT_nconf_nid(NULL, NULL, NID_server_auth, NULL);
#endif
"
. auto/feature

if [ $ngx_found = no ]; then
cat << END

$0: error: your OpenSSL library is too old for ACME support.
$0: error: your OpenSSL library is missing some functionality required for ACME support.

END
exit 1
Expand Down
16 changes: 16 additions & 0 deletions auto/lib/pcre/conf
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,22 @@ else
. auto/feature
fi

if [ $ngx_found = no ]; then

# Homebrew on Apple Silicon

ngx_feature="PCRE library in /opt/homebrew/"
ngx_feature_path="/opt/homebrew/include"

if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lpcre"
else
ngx_feature_libs="-L/opt/homebrew/lib -lpcre"
fi

. auto/feature
fi

if [ $ngx_found = yes ]; then
CORE_INCS="$CORE_INCS $ngx_feature_path"
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
Expand Down
35 changes: 35 additions & 0 deletions auto/modules
Original file line number Diff line number Diff line change
Expand Up @@ -1212,6 +1212,16 @@ if [ $STREAM != NO ]; then
. auto/module
fi

if [ $STREAM_PASS = YES ]; then
ngx_module_name=ngx_stream_pass_module
ngx_module_deps=
ngx_module_srcs=src/stream/ngx_stream_pass_module.c
ngx_module_libs=
ngx_module_link=$STREAM_PASS

. auto/module
fi

if [ $STREAM_SET = YES ]; then
ngx_module_name=ngx_stream_set_module
ngx_module_deps=
Expand Down Expand Up @@ -1264,6 +1274,20 @@ if [ $STREAM != NO ]; then
. auto/module
fi

if [ $STREAM_UPSTREAM_STICKY = YES ]; then
have=NGX_STREAM_UPSTREAM_SID . auto/have
have=NGX_STREAM_UPSTREAM_STICKY . auto/have

ngx_module_name=ngx_stream_upstream_sticky_module
ngx_module_incs=
ngx_module_deps=
ngx_module_srcs=src/stream/ngx_stream_upstream_sticky_module.c
ngx_module_libs=
ngx_module_link=$STREAM_UPSTREAM_STICKY

. auto/module
fi

if [ $STREAM_SSL_PREREAD = YES ]; then
ngx_module_name=ngx_stream_ssl_preread_module
ngx_module_deps=
Expand All @@ -1284,6 +1308,17 @@ if [ $STREAM != NO ]; then

. auto/module
fi

if [ $STREAM_RDP_PREREAD = YES ]; then
ngx_module_name=ngx_stream_rdp_preread_module
ngx_module_incs=
ngx_module_deps=
ngx_module_srcs=src/stream/ngx_stream_rdp_preread_module.c
ngx_module_libs=
ngx_module_link=$STREAM_RDP_PREREAD

. auto/module
fi
fi


Expand Down
Loading

0 comments on commit 5d7ff76

Please sign in to comment.