Skip to content

Commit

Permalink
feat: update NGINX version to 1.26.3
Browse files Browse the repository at this point in the history
  • Loading branch information
TheophileDiot committed Feb 11, 2025
1 parent b9e08ab commit 7bd9663
Show file tree
Hide file tree
Showing 44 changed files with 200 additions and 81 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test-core-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo -E apt install -y nginx=1.26.2-1~noble
sudo -E apt install -y nginx=1.26.3-1~noble
- name: Fix version without a starting number
if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == '1.5'
run: echo "force-bad-version" | sudo tee -a /etc/dpkg/dpkg.cfg
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests-ui-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo -E apt install -y nginx=1.26.2-1~noble
sudo -E apt install -y nginx=1.26.3-1~noble
- name: Fix version without a starting number
if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' || inputs.RELEASE == '1.5'
run: echo "force-bad-version" | sudo tee -a /etc/dpkg/dpkg.cfg
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- [AUTOCONF] Increase retry limit and improve stability of Kubernetes watch stream
- [UI] Add caching for GitHub buttons to improve performance
- [UI] Fix shenanigans with multiples
- [DEPS] Updated NGINX version to 1.26.3
- [DEPS] Updated lua-resty-openssl version to 1.5.2

## v1.6.0-rc4 - 2025/01/29
Expand Down
19 changes: 10 additions & 9 deletions docs/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,13 +316,14 @@ Supported Linux distributions for BunkerWeb (amd64/x86_64 and arm64/aarch64 arch
- Debian 12 "Bookworm"
- Ubuntu 22.04 "Jammy"
- Ubuntu 24.04 "Noble"
- Fedora 40
- Fedora 41
- Red Hat Enterprise Linux (RHEL) 8.9
- Red Hat Enterprise Linux (RHEL) 9.4

### Installation using package manager

Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb**. For all distributions, except Fedora, it is mandatory to use prebuilt packages from the [official NGINX repository](https://nginx.org/en/linux_packages.html). Compiling NGINX from source or using packages from different repositories will not work with the official prebuilt packages of BunkerWeb. However, you have the option to build BunkerWeb from source.
Please ensure that you have **NGINX 1.26.3 installed before installing BunkerWeb**. For all distributions, except Fedora, it is mandatory to use prebuilt packages from the [official NGINX repository](https://nginx.org/en/linux_packages.html). Compiling NGINX from source or using packages from different repositories will not work with the official prebuilt packages of BunkerWeb. However, you have the option to build BunkerWeb from source.

=== "Debian"

Expand All @@ -337,11 +338,11 @@ Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb
| sudo tee /etc/apt/sources.list.d/nginx.list
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo apt update && \
sudo apt install -y nginx=1.26.2-1~$(lsb_release -cs)
sudo apt install -y nginx=1.26.3-1~$(lsb_release -cs)
```

!!! warning "Testing/dev version"
Expand Down Expand Up @@ -385,11 +386,11 @@ Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb
| sudo tee /etc/apt/sources.list.d/nginx.list
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo apt update && \
sudo apt install -y nginx=1.26.2-1~$(lsb_release -cs)
sudo apt install -y nginx=1.26.3-1~$(lsb_release -cs)
```

!!! warning "Testing/dev version"
Expand Down Expand Up @@ -429,10 +430,10 @@ Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb
sudo dnf config-manager --set-enabled updates-testing
```

Fedora already provides NGINX 1.26.2 that we support :
Fedora already provides NGINX 1.26.3 that we support :

```shell
sudo dnf install -y nginx-1.26.2
sudo dnf install -y nginx-1.26.3
```

!!! example "Disable the setup wizard"
Expand Down Expand Up @@ -481,10 +482,10 @@ Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb
module_hotfixes=true
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo dnf install nginx-1.26.2
sudo dnf install nginx-1.26.3
```

!!! example "Disable the setup wizard"
Expand Down
25 changes: 16 additions & 9 deletions docs/quickstart-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.6.0-rc4

=== "Linux"

Please ensure that you have **NGINX 1.26.2 installed before installing BunkerWeb**. For all distributions, except Fedora, it is mandatory to use prebuilt packages from the [official NGINX repository](https://nginx.org/en/linux_packages.html). Compiling NGINX from source or using packages from different repositories will not work with the official prebuilt packages of BunkerWeb. However, you have the option to build BunkerWeb from source.
Please ensure that you have **NGINX 1.26.3 installed before installing BunkerWeb**. For all distributions, except Fedora, it is mandatory to use prebuilt packages from the [official NGINX repository](https://nginx.org/en/linux_packages.html). Compiling NGINX from source or using packages from different repositories will not work with the official prebuilt packages of BunkerWeb. However, you have the option to build BunkerWeb from source.

=== "Debian"

Expand All @@ -31,11 +31,11 @@ See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.6.0-rc4
| sudo tee /etc/apt/sources.list.d/nginx.list
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo apt update && \
sudo apt install -y nginx=1.26.2-1~$(lsb_release -cs)
sudo apt install -y nginx=1.26.3-1~$(lsb_release -cs)
```

!!! warning "Testing/dev version"
Expand Down Expand Up @@ -72,11 +72,11 @@ See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.6.0-rc4
| sudo tee /etc/apt/sources.list.d/nginx.list
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo apt update && \
sudo apt install -y nginx=1.26.2-1~$(lsb_release -cs)
sudo apt install -y nginx=1.26.3-1~$(lsb_release -cs)
```

!!! warning "Testing/dev version"
Expand All @@ -102,10 +102,17 @@ See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.6.0-rc4

=== "Fedora"

Fedora already provides NGINX 1.26.2 that we support :
!!! info "Fedora Update Testing"
If you can't find the NGINX version listed in the stable repository, you can enable the `updates-testing` repository :

```shell
sudo dnf config-manager --set-enabled updates-testing
```

Fedora already provides NGINX 1.26.3 that we support :

```shell
sudo dnf install -y nginx-1.26.2
sudo dnf install -y nginx-1.26.3
```

And finally install BunkerWeb 1.6.0-rc4 :
Expand Down Expand Up @@ -147,10 +154,10 @@ See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.6.0-rc4
module_hotfixes=true
```

You should now be able to install NGINX 1.26.2 :
You should now be able to install NGINX 1.26.3 :

```shell
sudo dnf install nginx-1.26.2
sudo dnf install nginx-1.26.3
```

And finally install BunkerWeb 1.6.0-rc4 :
Expand Down
8 changes: 3 additions & 5 deletions src/bw/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nginx:1.26.2-alpine-slim@sha256:1d541dc68a99c4da7923e88b8e184f85034804a1ff59ee838a81d83c319267d8 AS builder
FROM nginx:1.26.3-alpine-slim@sha256:e22e10bd833136245b39ffeb1a0d7c672f5597c18df4c462f327cc44fe0aa7a8 AS builder

# Install temporary requirements for the dependencies
RUN apk add --no-cache bash autoconf libtool automake geoip-dev g++ gcc curl-dev libxml2-dev pcre-dev make linux-headers musl-dev gd-dev gnupg brotli-dev openssl-dev patch readline-dev yajl yajl-dev yajl-tools py3-pip
Expand Down Expand Up @@ -42,7 +42,7 @@ COPY src/common/utils utils
COPY src/VERSION VERSION
COPY misc/*.ascii misc/

FROM nginx:1.26.2-alpine-slim@sha256:1d541dc68a99c4da7923e88b8e184f85034804a1ff59ee838a81d83c319267d8
FROM nginx:1.26.3-alpine-slim@sha256:e22e10bd833136245b39ffeb1a0d7c672f5597c18df4c462f327cc44fe0aa7a8

# Set default umask to prevent huge recursive chmod increasing the final image size
RUN umask 027
Expand All @@ -51,9 +51,7 @@ RUN umask 027
RUN apk add --no-cache openssl pcre bash python3 yajl geoip libxml2 libgd curl tzdata

# Fix CVEs
RUN apk add --no-cache "curl>=8.12.0-r0" "libcurl>=8.12.0-r0" # CVE-2025-0167 CVE-2025-0665 CVE-2025-0725
RUN apk add --no-cache "openssl>=3.3.2-r2" "libssl3>=3.3.2-r2" "libcrypto3>=3.3.2-r2" # CVE-2024-13176 CVE-2024-9143
RUN apk add --no-cache "pyc>=3.12.9-r0" "python3>=3.12.9-r0" "python3-pyc>=3.12.9-r0" "python3-pycache-pyc0>=3.12.9-r0" # CVE-2025-0938
# There are no CVEs for the following packages

# Copy dependencies
COPY --from=builder --chown=0:101 /usr/share/bunkerweb /usr/share/bunkerweb
Expand Down
4 changes: 2 additions & 2 deletions src/deps/deps.json
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,9 @@
},
{
"id": "nginx",
"name": "Nginx v1.26.2",
"name": "Nginx v1.26.3",
"url": "https://github.com/nginx/nginx.git",
"commit": "37fe98355461d2f03d73e6a8e82ac4e4cd85d711",
"commit": "1be0fb0c9f9bc3489c7b40576efd6afe6b2eccd5",
"post_install": "rm -r src/deps/src/nginx/docs"
},
{
Expand Down
1 change: 1 addition & 0 deletions src/deps/src/nginx/.hgtags
Original file line number Diff line number Diff line change
Expand Up @@ -480,3 +480,4 @@ f8134640e8615448205785cf00b0bc810489b495 release-1.25.1
8618e4d900cc71082fbe7dc72af087937d64faf5 release-1.25.5
a58202a8c41bf0bd97eef1b946e13105a105520d release-1.26.0
a63c124e34bcf2d1d1feb8d40ff075103b967c4c release-1.26.1
e4c5da06073ca24e2ffc5c8f8b8d7833a926356f release-1.26.2
26 changes: 26 additions & 0 deletions src/deps/src/nginx/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (C) 2002-2021 Igor Sysoev
* Copyright (C) 2011-2024 Nginx, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
3 changes: 3 additions & 0 deletions src/deps/src/nginx/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

Documentation is available at http://nginx.org

4 changes: 2 additions & 2 deletions src/deps/src/nginx/auto/lib/libatomic/conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ if [ $NGX_LIBATOMIC != YES ]; then

have=NGX_HAVE_LIBATOMIC . auto/have
CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"
LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"

else

Expand Down
11 changes: 8 additions & 3 deletions src/deps/src/nginx/auto/lib/libatomic/make
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@
# Copyright (C) Nginx, Inc.


case $NGX_LIBATOMIC in
/*) ngx_prefix="$NGX_LIBATOMIC/build" ;;
*) ngx_prefix="$PWD/$NGX_LIBATOMIC/build" ;;
esac

cat << END >> $NGX_MAKEFILE

$NGX_LIBATOMIC/src/libatomic_ops.a: $NGX_LIBATOMIC/Makefile
cd $NGX_LIBATOMIC && \$(MAKE)
$NGX_LIBATOMIC/build/lib/libatomic_ops.a: $NGX_LIBATOMIC/Makefile
cd $NGX_LIBATOMIC && \$(MAKE) && \$(MAKE) install

$NGX_LIBATOMIC/Makefile: $NGX_MAKEFILE
cd $NGX_LIBATOMIC \\
&& if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
&& ./configure
&& ./configure --prefix=$ngx_prefix

END
3 changes: 2 additions & 1 deletion src/deps/src/nginx/auto/lib/pcre/make
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ if [ $PCRE_LIBRARY = PCRE2 ]; then
pcre2_valid_utf.c \
pcre2_xclass.c"

ngx_pcre_test="pcre2_convert.c \
ngx_pcre_test="pcre2_chkdint.c \
pcre2_convert.c \
pcre2_extuni.c \
pcre2_find_bracket.c \
pcre2_script_run.c \
Expand Down
14 changes: 6 additions & 8 deletions src/deps/src/nginx/misc/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ TEMP = tmp

CC = cl
OBJS = objs.msvc8
OPENSSL = openssl-3.0.14
OPENSSL = openssl-3.0.15
ZLIB = zlib-1.3.1
PCRE = pcre2-10.39

Expand All @@ -15,8 +15,6 @@ release: export

mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX)

mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)
mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)
mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX)

Expand All @@ -30,12 +28,12 @@ release: export

export:
rm -rf $(TEMP)
hg archive -X '.hg*' $(TEMP)/$(NGINX)
git archive --prefix=$(TEMP)/$(NGINX)/ HEAD | tar -x -f - --exclude '.git*'


RELEASE:
hg ci -m nginx-$(VER)-RELEASE
hg tag -m "release-$(VER) tag" release-$(VER)
git commit -m nginx-$(VER)-RELEASE
git tag -m "release-$(VER) tag" release-$(VER)

$(MAKE) -f misc/GNUmakefile release

Expand Down Expand Up @@ -93,8 +91,8 @@ zip: export

sed -i '' -e "s/$$/`printf '\r'`/" $(TEMP)/$(NGINX)/conf/*

mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)/docs.new
mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)/docs.new
mv $(TEMP)/$(NGINX)/LICENSE $(TEMP)/$(NGINX)/docs.new
mv $(TEMP)/$(NGINX)/README $(TEMP)/$(NGINX)/docs.new
mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)

rm -r $(TEMP)/$(NGINX)/docs
Expand Down
4 changes: 2 additions & 2 deletions src/deps/src/nginx/src/core/nginx.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_


#define nginx_version 1026002
#define NGINX_VERSION "1.26.2"
#define nginx_version 1026003
#define NGINX_VERSION "1.26.3"
#define NGINX_VER "nginx/" NGINX_VERSION

#ifdef NGX_BUILD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,7 @@ SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method)

wbio = BIO_new(BIO_s_null());
if (wbio == NULL) {
BIO_free(rbio);
return 0;
}

Expand Down
4 changes: 2 additions & 2 deletions src/deps/src/nginx/src/event/quic/ngx_event_quic_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ ngx_quic_send_segments(ngx_connection_t *c, u_char *buf, size_t len,
ngx_memzero(msg_control, sizeof(msg_control));

iov.iov_len = len;
iov.iov_base = buf;
iov.iov_base = (void *) buf;

msg.msg_iov = &iov;
msg.msg_iovlen = 1;
Expand Down Expand Up @@ -699,7 +699,7 @@ ngx_quic_send(ngx_connection_t *c, u_char *buf, size_t len,
ngx_memzero(&msg, sizeof(struct msghdr));

iov.iov_len = len;
iov.iov_base = buf;
iov.iov_base = (void *) buf;

msg.msg_iov = &iov;
msg.msg_iovlen = 1;
Expand Down
Loading

0 comments on commit 7bd9663

Please sign in to comment.