From 7b03149dcacbe23305eb314cd6c1e8307d6225b4 Mon Sep 17 00:00:00 2001 From: Zidong Huang Date: Mon, 9 Mar 2026 16:02:03 +0800 Subject: [PATCH] add nginx-dav-ext-module and headers-more-nginx-module for full WebDAV support --- nginx.spec | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++- sources | 2 ++ 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/nginx.spec b/nginx.spec index 7002c25..33d7896 100644 --- a/nginx.spec +++ b/nginx.spec @@ -12,6 +12,9 @@ %global with_ktls 1 +%global dav_ext_version 3.0.0 +%global headers_more_version 0.37 + %global nginx_abiversion %{version} %global nginx_moduledir %{_libdir}/nginx/modules @@ -24,7 +27,7 @@ Name: nginx Version: 1.26.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A high performance web server and reverse proxy server License: BSD URL: https://nginx.org @@ -46,6 +49,8 @@ Source103: 404.html Source104: 50x.html Source200: README.dynamic Source210: UPGRADE-NOTES-1.6-to-1.10 +Source300: https://github.com/arut/nginx-dav-ext-module/archive/v%{dav_ext_version}/nginx-dav-ext-module-%{dav_ext_version}.tar.gz +Source301: https://github.com/openresty/headers-more-nginx-module/archive/v%{headers_more_version}/headers-more-nginx-module-%{headers_more_version}.tar.gz BuildRequires: make, gcc BuildRequires: openssl-devel, pcre2-devel, zlib-devel, systemd @@ -91,6 +96,8 @@ Requires: nginx-mod-http-perl = %{version}-%{release} Requires: nginx-mod-http-xslt-filter = %{version}-%{release} Requires: nginx-mod-mail = %{version}-%{release} Requires: nginx-mod-stream = %{version}-%{release} +Requires: nginx-mod-http-dav-ext = %{version}-%{release} +Requires: nginx-mod-http-headers-more = %{version}-%{release} %description all-modules Meta package that installs all available nginx modules. @@ -159,6 +166,22 @@ Requires: nginx(abi) = %{nginx_abiversion} %description mod-stream %{summary}. +%package mod-http-dav-ext +Summary: Nginx HTTP DAV extended module +BuildRequires: libxml2-devel +Requires: nginx(abi) = %{nginx_abiversion} +Requires: libxml2 + +%description mod-http-dav-ext +%{summary}. Provides PROPFIND, OPTIONS, LOCK and UNLOCK WebDAV methods. + +%package mod-http-headers-more +Summary: Nginx HTTP headers more module +Requires: nginx(abi) = %{nginx_abiversion} + +%description mod-http-headers-more +%{summary}. Allows setting and clearing input and output headers. + %package mod-devel Summary: Nginx module development files Requires: nginx = %{version}-%{release} @@ -178,6 +201,8 @@ Requires: libxslt-devel, openssl-devel, pcre2-devel, perl-devel, perl(E %prep %autosetup -p1 cp %{SOURCE200} %{SOURCE210} %{SOURCE10} %{SOURCE12} . +tar xf %{SOURCE300} -C .. +tar xf %{SOURCE301} -C .. cp -a ../%{name}-%{version} ../%{name}-%{version}-%{release}-src mv ../%{name}-%{version}-%{release}-src . @@ -245,6 +270,8 @@ if ! ./configure \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ --with-threads \ + --add-dynamic-module=../nginx-dav-ext-module-%{dav_ext_version} \ + --add-dynamic-module=../headers-more-nginx-module-%{headers_more_version} \ --with-cc-opt="%{optflags} $(pcre2-config --cflags)" \ --with-ld-opt="$nginx_ldopts"; then : configure failed @@ -333,6 +360,10 @@ echo 'load_module "%{nginx_moduledir}/ngx_mail_module.so";' \ > %{buildroot}%{nginx_moduleconfdir}/mod-mail.conf echo 'load_module "%{nginx_moduledir}/ngx_stream_module.so";' \ > %{buildroot}%{nginx_moduleconfdir}/mod-stream.conf +echo 'load_module "%{nginx_moduledir}/ngx_http_dav_ext_module.so";' \ + > %{buildroot}%{nginx_moduleconfdir}/mod-http-dav-ext.conf +echo 'load_module "%{nginx_moduledir}/ngx_http_headers_more_filter_module.so";' \ + > %{buildroot}%{nginx_moduleconfdir}/mod-http-headers-more.conf mkdir -p %{buildroot}%{_usrsrc} mv %{name}-%{version}-%{release}-src %{buildroot}%{nginx_srcdir} @@ -389,6 +420,16 @@ if [ $1 -eq 1 ]; then /usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || : fi +%post mod-http-dav-ext +if [ $1 -eq 1 ]; then + /usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || : +fi + +%post mod-http-headers-more +if [ $1 -eq 1 ]; then + /usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || : +fi + %preun %systemd_preun nginx.service @@ -480,6 +521,14 @@ fi %{nginx_moduleconfdir}/mod-stream.conf %{nginx_moduledir}/ngx_stream_module.so +%files mod-http-dav-ext +%{nginx_moduleconfdir}/mod-http-dav-ext.conf +%{nginx_moduledir}/ngx_http_dav_ext_module.so + +%files mod-http-headers-more +%{nginx_moduleconfdir}/mod-http-headers-more.conf +%{nginx_moduledir}/ngx_http_headers_more_filter_module.so + %files mod-devel %{_rpmmacrodir}/macros.nginxmods %{_fileattrsdir}/nginxmods.attr @@ -487,6 +536,10 @@ fi %changelog +* Mon Mar 09 2026 zidonghuang - 1.26.3-2 +- [Type] enhancement +- [DESC] add nginx-dav-ext-module and headers-more-nginx-module for full WebDAV support + * Thu Sep 04 2025 zidonghuang - 1.26.3-1 - [Type] security - [DESC] upgrade to 1.26.3 to fix CVE-2025-23419 diff --git a/sources b/sources index 829fa4a..6afef63 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ SHA512 (nginx-1.26.3.tar.gz) = cd780e495796bf7413e54a6730d11d55127b0ca6563acf5c75eb2698f62cddbbf5ba61820c57b2316c0bb789fcfd17f98a27a84b525ed50f304d1b1043ffa05d +SHA512 (nginx-dav-ext-module-3.0.0.tar.gz) = d0193ba90f1ef46c4e470630c4394bdf99d94fd2e3bd8be6cb2ba1655ec59944b1269025f032b79dc2c6dad366e54389ef6a6da2ddeb91d535a4027f2162fbde +SHA512 (headers-more-nginx-module-0.37.tar.gz) = 0cc2fffe506194d439e3669644d41b7943e2c3cffa3483eb70b92067930b358d506a14646eff8362b191a11c624db29f6b53d830876929dcb4ce1c9d7b2bc40d -- Gitee