diff --git a/.angie.metadata b/.angie.metadata index f8c5600..52cd5cc 100644 --- a/.angie.metadata +++ b/.angie.metadata @@ -1,62 +1,69 @@ -32801a5817cfd4acf74f1c1345498d8e2ab8a61a SOURCES/ngx_http_enhanced_memcached_module-v0.3.tar.gz -aa2751fa737792591cd4c6d53b93f6a51b947956 SOURCES/set-misc-nginx-module-v0.33.tar.gz -b40f2de3fc7a84d116f3ac6ae24e7dbb3a9de25b SOURCES/nginx-jwt-module-v3.4.1.tar.gz -4d41125dc2f50062f1f497a9b19bbca7c2845ce5 SOURCES/ngx_postgres-1.0rc7.tar.gz -34c710f37ad1bcc76db137e597b96ce41f69b133 SOURCES/lua-resty-openidc-v1.7.6.tar.gz -86e7cf0162169ceec765c699419dde9ebce651f4 SOURCES/stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63.tar.gz +36f42942b0dbb7ac0b32a78634aad096ef5a260f SOURCES/wasm-micro-runtime-WAMR-1.3.2.tar.gz +46773142147a7443d94f6508f750b475001e064a SOURCES/lua-resty-core-v0.1.31.tar.gz f5dccf21dc05cddb6205164a8fd3cf210926ef6c SOURCES/opentracing-cpp-v1.6.0.tar.gz -f00e346646e96be49abfe986b512c21c2084bcb1 SOURCES/echo-nginx-module-v0.63.tar.gz -7064d5cc11cb22b7ef2dc952bdac035e548cbffd SOURCES/ssdeep-release-2.14.1.tar.gz -524407402df7e73df9def85345c8bea324dceede SOURCES/nginx-dav-ext-module-v3.0.0.tar.gz -76a1b0f6f95c9a817cb96739e28ae9172bb19df6 SOURCES/ngx_devel_kit-v0.3.3.tar.gz -2f5da1e2b524b60ab99344b963fd43d4e9221b03 SOURCES/angie-1.8.1.tar.gz -d7b01219559620ba10ba7bd1dcbbd38ddc7468d5 SOURCES/grpc-v1.46.7.tar.gz -9521fe484cf7bfcba5bd6a041a83f86bfb803aa4 SOURCES/lua-resty-lrucache-v0.13.tar.gz -d8484122c1734e00c39d0c36b485f9aa8fcd6eac SOURCES/nginx-upload-module-2.3.0.tar.gz -85a4026394915589f461062dbb8b13643925a6c1 SOURCES/lua-resty-openssl-1.4.0.tar.gz -e6d560e4bce2e4f22eeca3295a03d6909935c2cd SOURCES/lua-resty-string-v0.15.tar.gz -172c26e961e70563a91b66dd224e38f8ee58a815 SOURCES/protobuf-v3.19.5.tar.gz +1175837831ac32c5f26c4113ea1a946db4822557 SOURCES/mbedtls-v3.6.0.tar.gz +526e9dba53c5c9ae557ae768c527d2cfb6f762d8 SOURCES/lua-resty-jwt-v0.2.3.tar.gz 1f9b404e3dc483dab1ec0bb7644f0658241f3c00 SOURCES/nginx-keyval-0.3.0.tar.gz -8f7fabc60072c2f86450d24b7bf9c0fc31ffa9eb SOURCES/nginx-otel-v0.1.1.tar.gz -b9629d51f4a67b55d70407054c689a17cf8244c1 SOURCES/ngx_brotli-v1.0.0rc.tar.gz -5775402ffc460079c950e7bfd1e743463aed16fe SOURCES/dd-opentracing-cpp-v1.3.7.tar.gz -173829c5d3aaedff277519604d5bf3e963075b24 SOURCES/opentelemetry-proto-v1.0.0.tar.gz -6f8e2ffc4a1737186c92598443f56a9c22798e6d SOURCES/chronos-v0.2-4.tar.gz -8b2a940dd0131f7b16aea50507d684ee912d779e SOURCES/nginx-eval-module-2016.06.10.tar.gz +96e1476960799bb71b58ddfa764ddbd98fd732e1 SOURCES/c-ares-cares-1_27_0.tar.gz +7e9fb77e0e59ad8a322ce86d5b9ee112bdae91fb SOURCES/lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz c4a5ae103fc4af61821b5d5f2eb7c6882f789ec0 SOURCES/re2-2024-03-01.tar.gz -526e9dba53c5c9ae557ae768c527d2cfb6f762d8 SOURCES/lua-resty-jwt-v0.2.3.tar.gz -a036f35dfc8c2f1fa38e16805891fb338273cbcb SOURCES/nginx-vod-module-1.33.tar.gz +76a1b0f6f95c9a817cb96739e28ae9172bb19df6 SOURCES/ngx_devel_kit-v0.3.3.tar.gz +3672ab58099bac1830022e501a34af14fdb1f3e2 SOURCES/nginx-auth-jwt-0.9.0.tar.gz +b89e425e89d6ba3386a7844ffbae26c6d766b8ca SOURCES/ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385.tar.gz b2354ac36d5b7fc099ff588cd0478494e0ef9cca SOURCES/zipkin-cpp-opentracing-966416e4d6aec23f572730aede6c087ccce6d194.tar.gz -62cc7e19c7a178bba1f5d3fbb602bbd154aefa60 SOURCES/nginx-module-stream-sts-v0.1.1.tar.gz +524407402df7e73df9def85345c8bea324dceede SOURCES/nginx-dav-ext-module-v3.0.0.tar.gz +8b2a940dd0131f7b16aea50507d684ee912d779e SOURCES/nginx-eval-module-2016.06.10.tar.gz +cd93bb3c7644749ba715c508c39dd171faa5ac15 SOURCES/lua-nginx-module-v0.10.28.tar.gz +f4aad87ad4214e066fd7388ddbdb21550c817286 SOURCES/ModSecurity-nginx-v1.0.3.tar.gz +b9629d51f4a67b55d70407054c689a17cf8244c1 SOURCES/ngx_brotli-v1.0.0rc.tar.gz +43ee5fa144d8fa0192eeef397ac2f1c1b323575d SOURCES/stream-lua-nginx-module-v0.0.16.tar.gz +8ec1d0e9f51ecbc9bf67b3f07007d2b04b0ca198 SOURCES/abseil-cpp-20211102.0.tar.gz 1df81ff28f4ea1431363655951861af56cec7aee SOURCES/lua-cjson-2.1.0.tar.gz -abaa2e8737976c6eccf3c8f2f7672f4b7cd7f573 SOURCES/ngx_http_substitutions_filter_module-e12e965ac1837ca709709f9a26f572a54d83430e.tar.gz +9926e80a795b71b877e41bcd13fb9022fdd84496 SOURCES/quickjs-6e2e68fd0896957f92eb6c242a2e048c1ef3cae0.tar.gz c86880022ca39f67bba970d529ae12ff2568ab35 SOURCES/nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4.tar.gz -4e74bcbcf523bbba57de2ca9dbc6c3b0355ffc0d SOURCES/lua-nginx-module-v0.10.26.tar.gz -36b3bcd24a7a531aa3d9570b40b0186fb5986417 SOURCES/mod_zip-1.3.0.tar.gz -97ea2c8d75610eac98ab84770baae2bf09a47bef SOURCES/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz -acff5edcd79bb39be93d48d0d2721fba7d1a2f62 SOURCES/opentelemetry-cpp-v1.11.0.tar.gz -940d5b82126e328e67be1d249b3c67fb144edd08 SOURCES/lua-resty-session-v3.10.tar.gz -f4aad87ad4214e066fd7388ddbdb21550c817286 SOURCES/ModSecurity-nginx-v1.0.3.tar.gz e3eec85876c70ee770258ebad009320b45df20a8 SOURCES/testcookie-nginx-module-64137c2f7e66e8866f56fdecaaf09ac10a034da9.tar.gz -fa8466435edac11c2ba9fd91749559f04534c52a SOURCES/spnego-http-auth-nginx-module-v1.1.1.tar.gz +e4e1e2fd57921fbf8a44a00f1105e5c2e4c3e72c SOURCES/nginx-jwt-module-v3.4.2.tar.gz +42040a6e29d7ccf57f73091c08eb42a6d0b7d4b8 SOURCES/lua-ffi-zlib-v0.6.tar.gz +2f5da1e2b524b60ab99344b963fd43d4e9221b03 SOURCES/angie-1.8.1.tar.gz +36b3bcd24a7a531aa3d9570b40b0186fb5986417 SOURCES/mod_zip-1.3.0.tar.gz fdd403ea8cb45f44dd76ff2aad3ccf51014d2526 SOURCES/ngx_dynamic_limit_req_module-1.9.3.tar.gz -0711f54f680027ea23eb4d11c87c7274ba55eb3a SOURCES/headers-more-nginx-module-v0.37.tar.gz -4b6cef784bc7acaa6651f5616ede7a3b60625891 SOURCES/nginx-opentracing-v0.35.3.tar.gz +fabe489aea91a63908f8dd2d7c8462b2f8782854 SOURCES/lua-resty-openssl-1.5.1.tar.gz +b8259d347d76208fa8013902eaab9c43c762c3f4 SOURCES/ModSecurity-v3.0.13.tar.gz +3085f16cc7b815037879db17476e1e6043687dfa SOURCES/lua-resty-lrucache-v0.15.tar.gz +fe94af0d0ca89f0ec9318c3141eb58baddb56090 SOURCES/spnego-http-auth-nginx-module-v1.1.2.tar.gz +a310137ce618daefa23b546f77cd44e7c831c7bd SOURCES/lua-resty-session-v4.0.5.tar.gz +1194355eab5775ba0c9ab6e50b5969e12bed7fd3 SOURCES/nginx-module-sts-v0.1.1.tar.gz +08dcb8f1ca9bfe64ce9734aa3aba311f372f6b95 SOURCES/nginx-module-vts-v0.2.3.tar.gz +0d7f3829d54a6f61307c848ac554a17e622266fb SOURCES/lua-resty-openidc-v1.8.0.tar.gz +d8484122c1734e00c39d0c36b485f9aa8fcd6eac SOURCES/nginx-upload-module-2.3.0.tar.gz +60975d71093ef2f24b942e874fda0dd9832f8967 SOURCES/wasmtime-v25.0.0-x86_64-linux-c-api.tar.xz +aa2751fa737792591cd4c6d53b93f6a51b947956 SOURCES/set-misc-nginx-module-v0.33.tar.gz +6f8e2ffc4a1737186c92598443f56a9c22798e6d SOURCES/chronos-v0.2-4.tar.gz +461062b67c2cc794935f1a9dbbebcaa9d1e9b0fc SOURCES/luajit2-v2.1-20250117.tar.gz +42106c9af382666d1c35d79731df1919baea3c9d SOURCES/lua-resty-http-v0.17.2.tar.gz +f00e346646e96be49abfe986b512c21c2084bcb1 SOURCES/echo-nginx-module-v0.63.tar.gz +b83201d617eb16a6bab5cf159f45c156818b431a SOURCES/lua-resty-string-v0.16.tar.gz +acff5edcd79bb39be93d48d0d2721fba7d1a2f62 SOURCES/opentelemetry-cpp-v1.11.0.tar.gz +457830a74739d12294970f25f381ccb4a4f993d5 SOURCES/angie-wasm-v0.2-beta2.tar.gz +97ea2c8d75610eac98ab84770baae2bf09a47bef SOURCES/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz +ad7617ad01deefd08bcdc40a451846d5ee94a33b SOURCES/njs-0.8.9.tar.gz +173829c5d3aaedff277519604d5bf3e963075b24 SOURCES/opentelemetry-proto-v1.0.0.tar.gz +9295fae0d51e49e9147d9da7db14099a8dff9f7d SOURCES/inspect.lua-v3.1.3.tar.gz +5775402ffc460079c950e7bfd1e743463aed16fe SOURCES/dd-opentracing-cpp-v1.3.7.tar.gz +a036f35dfc8c2f1fa38e16805891fb338273cbcb SOURCES/nginx-vod-module-1.33.tar.gz b358aa19f7a3f31584751a9f4e477c5f27d4474a SOURCES/redis2-nginx-module-v0.15.tar.gz +d7b01219559620ba10ba7bd1dcbbd38ddc7468d5 SOURCES/grpc-v1.46.7.tar.gz +172c26e961e70563a91b66dd224e38f8ee58a815 SOURCES/protobuf-v3.19.5.tar.gz +8cce502d785f2563b5a844024b47e6a5ff2234bf SOURCES/lua-dumper-v0.1.1.tar.gz eb0667726a4bb14bf3cdc893583f423ada832804 SOURCES/ngx_http_geoip2_module-3.4.tar.gz -a206b9717e28102e088784ac001a2149c26eb2aa SOURCES/nginx-module-vts-v0.2.2.tar.gz -7e9fb77e0e59ad8a322ce86d5b9ee112bdae91fb SOURCES/lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz -6a4b5c2195c125c7e9ac04fe9e5fb6c0a3705763 SOURCES/luajit2-v2.1-20240626.tar.gz -6e0029b72ddd55daf043252b088849aa8822fded SOURCES/njs-0.8.5.tar.gz -32be45997d530d0a59ea8636686553abcc536479 SOURCES/ModSecurity-v3.0.12.tar.gz -5df4fe9e8262727170ccd59a14a55a0d73d7c370 SOURCES/nginx-auth-jwt-0.7.0.tar.gz -96e1476960799bb71b58ddfa764ddbd98fd732e1 SOURCES/c-ares-cares-1_27_0.tar.gz +62cc7e19c7a178bba1f5d3fbb602bbd154aefa60 SOURCES/nginx-module-stream-sts-v0.1.1.tar.gz +3fe341fb6628843f205a1557b114de45c79f2555 SOURCES/headers-more-nginx-module-v0.38.tar.gz +7064d5cc11cb22b7ef2dc952bdac035e548cbffd SOURCES/ssdeep-release-2.14.1.tar.gz +7c4f2f246405cae0acd3fbc33b7031fda0a94800 SOURCES/ngx_cache_purge-2.5.3.tar.gz +32801a5817cfd4acf74f1c1345498d8e2ab8a61a SOURCES/ngx_http_enhanced_memcached_module-v0.3.tar.gz +1bfdaab7a7c61062377663cc212d54ca88368231 SOURCES/nginx-opentracing-v0.38.0.tar.gz fb5cf748d87dd448576d73b057855fc12cad9896 SOURCES/nginx-rtmp-module-v1.2.2.tar.gz -1194355eab5775ba0c9ab6e50b5969e12bed7fd3 SOURCES/nginx-module-sts-v0.1.1.tar.gz -8cce502d785f2563b5a844024b47e6a5ff2234bf SOURCES/lua-dumper-v0.1.1.tar.gz -db452736b5e7e549489104c7bb9d5b3a7631e162 SOURCES/lua-resty-core-v0.1.28.tar.gz +abaa2e8737976c6eccf3c8f2f7672f4b7cd7f573 SOURCES/ngx_http_substitutions_filter_module-e12e965ac1837ca709709f9a26f572a54d83430e.tar.gz +4d41125dc2f50062f1f497a9b19bbca7c2845ce5 SOURCES/ngx_postgres-1.0rc7.tar.gz +8f7fabc60072c2f86450d24b7bf9c0fc31ffa9eb SOURCES/nginx-otel-v0.1.1.tar.gz 88e5720e1755e89a19e97043387b1fa001acb810 SOURCES/zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b.tar.gz -7c4f2f246405cae0acd3fbc33b7031fda0a94800 SOURCES/ngx_cache_purge-2.5.3.tar.gz -9295fae0d51e49e9147d9da7db14099a8dff9f7d SOURCES/inspect.lua-v3.1.3.tar.gz -42106c9af382666d1c35d79731df1919baea3c9d SOURCES/lua-resty-http-v0.17.2.tar.gz -8ec1d0e9f51ecbc9bf67b3f07007d2b04b0ca198 SOURCES/abseil-cpp-20211102.0.tar.gz diff --git a/.gitignore b/.gitignore index f71560c..8a3df88 100644 --- a/.gitignore +++ b/.gitignore @@ -1,62 +1,69 @@ -SOURCES/ngx_http_enhanced_memcached_module-v0.3.tar.gz -SOURCES/set-misc-nginx-module-v0.33.tar.gz -SOURCES/nginx-jwt-module-v3.4.1.tar.gz -SOURCES/ngx_postgres-1.0rc7.tar.gz -SOURCES/lua-resty-openidc-v1.7.6.tar.gz -SOURCES/stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63.tar.gz +SOURCES/wasm-micro-runtime-WAMR-1.3.2.tar.gz +SOURCES/lua-resty-core-v0.1.31.tar.gz SOURCES/opentracing-cpp-v1.6.0.tar.gz -SOURCES/echo-nginx-module-v0.63.tar.gz -SOURCES/ssdeep-release-2.14.1.tar.gz -SOURCES/nginx-dav-ext-module-v3.0.0.tar.gz -SOURCES/ngx_devel_kit-v0.3.3.tar.gz -SOURCES/angie-1.8.1.tar.gz -SOURCES/grpc-v1.46.7.tar.gz -SOURCES/lua-resty-lrucache-v0.13.tar.gz -SOURCES/nginx-upload-module-2.3.0.tar.gz -SOURCES/lua-resty-openssl-1.4.0.tar.gz -SOURCES/lua-resty-string-v0.15.tar.gz -SOURCES/protobuf-v3.19.5.tar.gz +SOURCES/mbedtls-v3.6.0.tar.gz +SOURCES/lua-resty-jwt-v0.2.3.tar.gz SOURCES/nginx-keyval-0.3.0.tar.gz -SOURCES/nginx-otel-v0.1.1.tar.gz -SOURCES/ngx_brotli-v1.0.0rc.tar.gz -SOURCES/dd-opentracing-cpp-v1.3.7.tar.gz -SOURCES/opentelemetry-proto-v1.0.0.tar.gz -SOURCES/chronos-v0.2-4.tar.gz -SOURCES/nginx-eval-module-2016.06.10.tar.gz +SOURCES/c-ares-cares-1_27_0.tar.gz +SOURCES/lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz SOURCES/re2-2024-03-01.tar.gz -SOURCES/lua-resty-jwt-v0.2.3.tar.gz -SOURCES/nginx-vod-module-1.33.tar.gz +SOURCES/ngx_devel_kit-v0.3.3.tar.gz +SOURCES/nginx-auth-jwt-0.9.0.tar.gz +SOURCES/ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385.tar.gz SOURCES/zipkin-cpp-opentracing-966416e4d6aec23f572730aede6c087ccce6d194.tar.gz -SOURCES/nginx-module-stream-sts-v0.1.1.tar.gz +SOURCES/nginx-dav-ext-module-v3.0.0.tar.gz +SOURCES/nginx-eval-module-2016.06.10.tar.gz +SOURCES/lua-nginx-module-v0.10.28.tar.gz +SOURCES/ModSecurity-nginx-v1.0.3.tar.gz +SOURCES/ngx_brotli-v1.0.0rc.tar.gz +SOURCES/stream-lua-nginx-module-v0.0.16.tar.gz +SOURCES/abseil-cpp-20211102.0.tar.gz SOURCES/lua-cjson-2.1.0.tar.gz -SOURCES/ngx_http_substitutions_filter_module-e12e965ac1837ca709709f9a26f572a54d83430e.tar.gz +SOURCES/quickjs-6e2e68fd0896957f92eb6c242a2e048c1ef3cae0.tar.gz SOURCES/nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4.tar.gz -SOURCES/lua-nginx-module-v0.10.26.tar.gz -SOURCES/mod_zip-1.3.0.tar.gz -SOURCES/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz -SOURCES/opentelemetry-cpp-v1.11.0.tar.gz -SOURCES/lua-resty-session-v3.10.tar.gz -SOURCES/ModSecurity-nginx-v1.0.3.tar.gz SOURCES/testcookie-nginx-module-64137c2f7e66e8866f56fdecaaf09ac10a034da9.tar.gz -SOURCES/spnego-http-auth-nginx-module-v1.1.1.tar.gz +SOURCES/nginx-jwt-module-v3.4.2.tar.gz +SOURCES/lua-ffi-zlib-v0.6.tar.gz +SOURCES/angie-1.8.1.tar.gz +SOURCES/mod_zip-1.3.0.tar.gz SOURCES/ngx_dynamic_limit_req_module-1.9.3.tar.gz -SOURCES/headers-more-nginx-module-v0.37.tar.gz -SOURCES/nginx-opentracing-v0.35.3.tar.gz +SOURCES/lua-resty-openssl-1.5.1.tar.gz +SOURCES/ModSecurity-v3.0.13.tar.gz +SOURCES/lua-resty-lrucache-v0.15.tar.gz +SOURCES/spnego-http-auth-nginx-module-v1.1.2.tar.gz +SOURCES/lua-resty-session-v4.0.5.tar.gz +SOURCES/nginx-module-sts-v0.1.1.tar.gz +SOURCES/nginx-module-vts-v0.2.3.tar.gz +SOURCES/lua-resty-openidc-v1.8.0.tar.gz +SOURCES/nginx-upload-module-2.3.0.tar.gz +SOURCES/wasmtime-v25.0.0-x86_64-linux-c-api.tar.xz +SOURCES/set-misc-nginx-module-v0.33.tar.gz +SOURCES/chronos-v0.2-4.tar.gz +SOURCES/luajit2-v2.1-20250117.tar.gz +SOURCES/lua-resty-http-v0.17.2.tar.gz +SOURCES/echo-nginx-module-v0.63.tar.gz +SOURCES/lua-resty-string-v0.16.tar.gz +SOURCES/opentelemetry-cpp-v1.11.0.tar.gz +SOURCES/angie-wasm-v0.2-beta2.tar.gz +SOURCES/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz +SOURCES/njs-0.8.9.tar.gz +SOURCES/opentelemetry-proto-v1.0.0.tar.gz +SOURCES/inspect.lua-v3.1.3.tar.gz +SOURCES/dd-opentracing-cpp-v1.3.7.tar.gz +SOURCES/nginx-vod-module-1.33.tar.gz SOURCES/redis2-nginx-module-v0.15.tar.gz +SOURCES/grpc-v1.46.7.tar.gz +SOURCES/protobuf-v3.19.5.tar.gz +SOURCES/lua-dumper-v0.1.1.tar.gz SOURCES/ngx_http_geoip2_module-3.4.tar.gz -SOURCES/nginx-module-vts-v0.2.2.tar.gz -SOURCES/lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz -SOURCES/luajit2-v2.1-20240626.tar.gz -SOURCES/njs-0.8.5.tar.gz -SOURCES/ModSecurity-v3.0.12.tar.gz -SOURCES/nginx-auth-jwt-0.7.0.tar.gz -SOURCES/c-ares-cares-1_27_0.tar.gz +SOURCES/nginx-module-stream-sts-v0.1.1.tar.gz +SOURCES/headers-more-nginx-module-v0.38.tar.gz +SOURCES/ssdeep-release-2.14.1.tar.gz +SOURCES/ngx_cache_purge-2.5.3.tar.gz +SOURCES/ngx_http_enhanced_memcached_module-v0.3.tar.gz +SOURCES/nginx-opentracing-v0.38.0.tar.gz SOURCES/nginx-rtmp-module-v1.2.2.tar.gz -SOURCES/nginx-module-sts-v0.1.1.tar.gz -SOURCES/lua-dumper-v0.1.1.tar.gz -SOURCES/lua-resty-core-v0.1.28.tar.gz +SOURCES/ngx_http_substitutions_filter_module-e12e965ac1837ca709709f9a26f572a54d83430e.tar.gz +SOURCES/ngx_postgres-1.0rc7.tar.gz +SOURCES/nginx-otel-v0.1.1.tar.gz SOURCES/zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b.tar.gz -SOURCES/ngx_cache_purge-2.5.3.tar.gz -SOURCES/inspect.lua-v3.1.3.tar.gz -SOURCES/lua-resty-http-v0.17.2.tar.gz -SOURCES/abseil-cpp-20211102.0.tar.gz diff --git a/SOURCES/README-module-auth-jwt b/SOURCES/README-module-auth-jwt index 393bb81..bce5bcb 100644 --- a/SOURCES/README-module-auth-jwt +++ b/SOURCES/README-module-auth-jwt @@ -1,7 +1,7 @@ This package has been built using the below sources: - Project: https://github.com/kjdev/nginx-auth-jwt - Version: 0.7.0 - Archive: https://github.com/kjdev/nginx-auth-jwt/archive/0.7.0.tar.gz + Version: 0.9.0 + Archive: https://github.com/kjdev/nginx-auth-jwt/archive/0.9.0.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-auth-spnego b/SOURCES/README-module-auth-spnego index 63ec4ab..6a9616c 100644 --- a/SOURCES/README-module-auth-spnego +++ b/SOURCES/README-module-auth-spnego @@ -1,7 +1,7 @@ This package has been built using the below sources: - Project: https://github.com/stnoonan/spnego-http-auth-nginx-module - Version: v1.1.1 - Archive: https://github.com/stnoonan/spnego-http-auth-nginx-module/archive/refs/tags/v1.1.1.tar.gz + Version: v1.1.2 + Archive: https://github.com/stnoonan/spnego-http-auth-nginx-module/archive/refs/tags/v1.1.2.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-headers-more b/SOURCES/README-module-headers-more index 436296b..91aa5b0 100644 --- a/SOURCES/README-module-headers-more +++ b/SOURCES/README-module-headers-more @@ -1,7 +1,7 @@ This package has been built using the below sources: - Project: https://github.com/openresty/headers-more-nginx-module - Version: v0.37 - Archive: https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.37.tar.gz + Version: v0.38 + Archive: https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.38.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-http-auth-radius b/SOURCES/README-module-http-auth-radius new file mode 100644 index 0000000..5d45784 --- /dev/null +++ b/SOURCES/README-module-http-auth-radius @@ -0,0 +1,7 @@ +This package has been built using the below sources: + +- Project: https://github.com/ten0s/ngx_http_auth_radius_module + Version: 458af16e01533d52b842c74f242fff2340104385 + Archive: https://github.com/ten0s/ngx_http_auth_radius_module/archive/458af16e01533d52b842c74f242fff2340104385.tar.gz + +Please refer to the given links for further details. diff --git a/SOURCES/README-module-image-filter b/SOURCES/README-module-image-filter index 67df518..672340a 100644 --- a/SOURCES/README-module-image-filter +++ b/SOURCES/README-module-image-filter @@ -1,2 +1,2 @@ Please find the official documentation for this module here: -https://angie.software/en/http_image_filter/ +https://en.angie.software/angie/docs/configuration/modules/http/http_image_filter/ diff --git a/SOURCES/README-module-jwt b/SOURCES/README-module-jwt index 9cb3e05..73a9025 100644 --- a/SOURCES/README-module-jwt +++ b/SOURCES/README-module-jwt @@ -1,7 +1,7 @@ This package has been built using the below sources: - Project: https://github.com/max-lt/nginx-jwt-module - Version: v3.4.1 - Archive: https://github.com/max-lt/nginx-jwt-module/archive/refs/tags/v3.4.1.tar.gz + Version: v3.4.2 + Archive: https://github.com/max-lt/nginx-jwt-module/archive/refs/tags/v3.4.2.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-lua b/SOURCES/README-module-lua index aa368e9..cc84857 100644 --- a/SOURCES/README-module-lua +++ b/SOURCES/README-module-lua @@ -1,16 +1,16 @@ This package has been built using the below sources: - Project: https://github.com/openresty/lua-nginx-module - Version: v0.10.26 - Archive: https://github.com/openresty/lua-nginx-module/archive/refs/tags/v0.10.26.tar.gz + Version: v0.10.28 + Archive: https://github.com/openresty/lua-nginx-module/archive/refs/tags/v0.10.28.tar.gz - Project: https://github.com/openresty/stream-lua-nginx-module - Version: bea8a0c0de94cede71554f53818ac0267d675d63 - Archive: https://github.com/openresty/stream-lua-nginx-module/archive/bea8a0c0de94cede71554f53818ac0267d675d63.tar.gz + Version: v0.0.16 + Archive: https://github.com/openresty/stream-lua-nginx-module/archive/refs/tags/v0.0.16.tar.gz - Project: https://github.com/openresty/luajit2 - Version: v2.1-20240626 - Archive: https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gz + Version: v2.1-20250117 + Archive: https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20250117.tar.gz - Project: https://github.com/ldrumm/chronos Version: v0.2-4 @@ -28,9 +28,13 @@ This package has been built using the below sources: Version: v0.1.1 Archive: https://github.com/edubart/lua-dumper/archive/refs/tags/v0.1.1.tar.gz +- Project: https://github.com/hamishforbes/lua-ffi-zlib + Version: v0.6 + Archive: https://github.com/hamishforbes/lua-ffi-zlib/archive/refs/tags/v0.6.tar.gz + - Project: https://github.com/openresty/lua-resty-core - Version: v0.1.28 - Archive: https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.28.tar.gz + Version: v0.1.31 + Archive: https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.31.tar.gz - Project: https://github.com/jkeys089/lua-resty-hmac Version: 5f60e1a28b9fdd7939f0e1738171f0ca5fe22978 @@ -45,23 +49,23 @@ This package has been built using the below sources: Archive: https://github.com/cdbattags/lua-resty-jwt/archive/refs/tags/v0.2.3.tar.gz - Project: https://github.com/openresty/lua-resty-lrucache - Version: v0.13 - Archive: https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.13.tar.gz + Version: v0.15 + Archive: https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.15.tar.gz - Project: https://github.com/zmartzone/lua-resty-openidc - Version: v1.7.6 - Archive: https://github.com/zmartzone/lua-resty-openidc/archive/refs/tags/v1.7.6.tar.gz + Version: v1.8.0 + Archive: https://github.com/zmartzone/lua-resty-openidc/archive/refs/tags/v1.8.0.tar.gz - Project: https://github.com/fffonion/lua-resty-openssl - Version: 1.4.0 - Archive: https://github.com/fffonion/lua-resty-openssl/archive/refs/tags/1.4.0.tar.gz + Version: 1.5.1 + Archive: https://github.com/fffonion/lua-resty-openssl/archive/refs/tags/1.5.1.tar.gz - Project: https://github.com/bungle/lua-resty-session - Version: v3.10 - Archive: https://github.com/bungle/lua-resty-session/archive/refs/tags/v3.10.tar.gz + Version: v4.0.5 + Archive: https://github.com/bungle/lua-resty-session/archive/refs/tags/v4.0.5.tar.gz - Project: https://github.com/openresty/lua-resty-string - Version: v0.15 - Archive: https://github.com/openresty/lua-resty-string/archive/refs/tags/v0.15.tar.gz + Version: v0.16 + Archive: https://github.com/openresty/lua-resty-string/archive/refs/tags/v0.16.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-modsecurity b/SOURCES/README-module-modsecurity index 3265e1d..31e7e5d 100644 --- a/SOURCES/README-module-modsecurity +++ b/SOURCES/README-module-modsecurity @@ -5,13 +5,17 @@ This package has been built using the below sources: Archive: https://github.com/owasp-modsecurity/ModSecurity-nginx/archive/refs/tags/v1.0.3.tar.gz - Project: https://github.com/owasp-modsecurity/ModSecurity - Version: v3.0.12 - Archive: https://github.com/owasp-modsecurity/ModSecurity/archive/refs/tags/v3.0.12.tar.gz + Version: v3.0.13 + Archive: https://github.com/owasp-modsecurity/ModSecurity/archive/refs/tags/v3.0.13.tar.gz - Project: https://github.com/libinjection/libinjection Version: b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9 Archive: https://github.com/libinjection/libinjection/archive/b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz +- Project: https://github.com/Mbed-TLS/mbedtls + Version: v3.6.0 + Archive: https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.6.0.tar.gz + - Project: https://github.com/ssdeep-project/ssdeep Version: release-2.14.1 Archive: https://github.com/ssdeep-project/ssdeep/archive/refs/tags/release-2.14.1.tar.gz diff --git a/SOURCES/README-module-njs b/SOURCES/README-module-njs index eae9e88..d7cf140 100644 --- a/SOURCES/README-module-njs +++ b/SOURCES/README-module-njs @@ -1,7 +1,11 @@ This package has been built using the below sources: - Project: https://github.com/nginx/njs - Version: 0.8.5 - Archive: https://github.com/nginx/njs/archive/refs/tags/0.8.5.tar.gz + Version: 0.8.9 + Archive: https://github.com/nginx/njs/archive/refs/tags/0.8.9.tar.gz + +- Project: https://github.com/bellard/quickjs + Version: 6e2e68fd0896957f92eb6c242a2e048c1ef3cae0 + Archive: https://github.com/bellard/quickjs/archive/6e2e68fd0896957f92eb6c242a2e048c1ef3cae0.tar.gz Please refer to the given links for further details. diff --git a/SOURCES/README-module-opentracing b/SOURCES/README-module-opentracing index e8881a0..e666712 100644 --- a/SOURCES/README-module-opentracing +++ b/SOURCES/README-module-opentracing @@ -1,8 +1,8 @@ This package has been built using the below sources: - Project: https://github.com/opentracing-contrib/nginx-opentracing - Version: v0.35.3 - Archive: https://github.com/opentracing-contrib/nginx-opentracing/archive/refs/tags/v0.35.3.tar.gz + Version: v0.38.0 + Archive: https://github.com/opentracing-contrib/nginx-opentracing/archive/refs/tags/v0.38.0.tar.gz - Project: https://github.com/opentracing/opentracing-cpp Version: v1.6.0 diff --git a/SOURCES/README-module-perl b/SOURCES/README-module-perl index 65979ff..0bf6209 100644 --- a/SOURCES/README-module-perl +++ b/SOURCES/README-module-perl @@ -1,2 +1,2 @@ Please find the official documentation for this module here: -https://angie.software/en/http_perl/ +https://en.angie.software/angie/docs/configuration/modules/http/http_perl/ diff --git a/SOURCES/README-module-vts b/SOURCES/README-module-vts index 9cb526a..19f6be9 100644 --- a/SOURCES/README-module-vts +++ b/SOURCES/README-module-vts @@ -1,8 +1,8 @@ This package has been built using the below sources: - Project: https://github.com/vozlt/nginx-module-vts - Version: v0.2.2 - Archive: https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.2.tar.gz + Version: v0.2.3 + Archive: https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.3.tar.gz - Project: https://github.com/vozlt/nginx-module-stream-sts Version: v0.1.1 diff --git a/SOURCES/README-module-wamr b/SOURCES/README-module-wamr new file mode 100644 index 0000000..f3bb8c9 --- /dev/null +++ b/SOURCES/README-module-wamr @@ -0,0 +1,11 @@ +This package has been built using the below sources: + +- Project: https://github.com/bytecodealliance/wasm-micro-runtime + Version: WAMR-1.3.2 + Archive: https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-1.3.2.tar.gz + +- Project: https://git.angie.software/web-server/angie-wasm + Version: v0.2-beta2 + Archive: https://git.angie.software/web-server/angie-wasm/archive/v0.2-beta2.tar.gz + +Please refer to the given links for further details. diff --git a/SOURCES/README-module-wasm b/SOURCES/README-module-wasm new file mode 100644 index 0000000..35a22e3 --- /dev/null +++ b/SOURCES/README-module-wasm @@ -0,0 +1,7 @@ +This package has been built using the below sources: + +- Project: https://git.angie.software/web-server/angie-wasm + Version: v0.2-beta2 + Archive: https://git.angie.software/web-server/angie-wasm/archive/v0.2-beta2.tar.gz + +Please refer to the given links for further details. diff --git a/SOURCES/README-module-wasmtime b/SOURCES/README-module-wasmtime new file mode 100644 index 0000000..c12d53c --- /dev/null +++ b/SOURCES/README-module-wasmtime @@ -0,0 +1,11 @@ +This package has been built using the below sources: + +- Project: https://github.com/bytecodealliance/wasmtime + Version: v25.0.0 + Archive: https://github.com/bytecodealliance/wasmtime/releases/download/v25.0.0/wasmtime-v25.0.0-x86_64-linux-c-api.tar.xz + +- Project: https://git.angie.software/web-server/angie-wasm + Version: v0.2-beta2 + Archive: https://git.angie.software/web-server/angie-wasm/archive/v0.2-beta2.tar.gz + +Please refer to the given links for further details. diff --git a/SOURCES/README-module-xslt b/SOURCES/README-module-xslt index e9b0cfd..a477a87 100644 --- a/SOURCES/README-module-xslt +++ b/SOURCES/README-module-xslt @@ -1,2 +1,2 @@ Please find the official documentation for this module here: -https://angie.software/en/http_xslt/ +https://en.angie.software/angie/docs/configuration/modules/http/http_xslt/ diff --git a/SOURCES/angie.service b/SOURCES/angie.service index b3469bc..f03879b 100644 --- a/SOURCES/angie.service +++ b/SOURCES/angie.service @@ -1,6 +1,6 @@ [Unit] Description=Angie - high performance web server -Documentation=https://angie.software/en/ +Documentation=https://en.angie.software/angie/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target diff --git a/SOURCES/configure-accelerator.patch b/SOURCES/configure-accelerator.patch deleted file mode 100644 index 0742305..0000000 --- a/SOURCES/configure-accelerator.patch +++ /dev/null @@ -1,1543 +0,0 @@ -# HG changeset patch -# User Vladimir Khomutov -# Date 1721036673 -10800 -# Mon Jul 15 12:44:33 2024 +0300 -# Node ID 1a5ebc8fd6df82e6f6c53306cfb858e674e7a664 -# Parent 0b88485f70ed6715b9b48ef1b19529262168a312 -Configure: makefile generator optimizations. - -The generator makes multiple sed(1) calls, even when not really needed. -The code is thrashed with multiple copies of regular expressions making -it hard to read. - -Most sed calls are replaced with shell builtins and moved into functions, each -performing clear task, making the rest of the code easier to read. Functions -save results to variables instead of echoing. - -The most often and useless case: replacing slash with configured directory -separator (which is also slash on UNIX platform) using sed(1) is optimized. -* * * -Configure: avoid calling external tools. - -Avoid calling tr(1) when converting feature/include name to macro. -* * * -Configure: separate compile and linking steps. - -This allows to cache compilation results using ccache. -* * * -Configure: use auto/define instead of direct access. -* * * -Configure: test for C compiler presence is moved to cc/conf. - -The test has nothing to do with the compiler name and makes it harder -to cache the script result in the following patch. -* * * -Configure: feature cache. - -If requested by --feature-cache[=path] configuration option, results of -each autotest performed on a first run are captured and saved as files. - -Upon the second invocation, instead of performing actual feature test, -a cached result is used. - -The test must set ngx_found and provide convenient way to capture other -execution results (i.e. set variables, auto/have calls etc). - -When reading cache results, configure script does not invoke any system -commands/compilers/tools that may affect resulting configuration. - -diff --git a/auto/cache b/auto/cache -new file mode 100644 ---- /dev/null -+++ b/auto/cache -@@ -0,0 +1,74 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+ -+ -+if [ $NGX_FEATURE_CACHE = YES ]; then -+ NGX_FC_PATH=$NGX_OBJS -+ -+elif [ $NGX_FEATURE_CACHE != NO ]; then -+ -+ NGX_FC_PATH=${NGX_FEATURE_CACHE} -+ mkdir -p $NGX_FC_PATH -+fi -+ -+ -+# tries to load cache for current autotest environment -+check_cache() -+{ -+ if [ $NGX_FEATURE_CACHE = NO ]; then -+ return 1 -+ fi -+ -+ # remove chars non-suitable for filename and limit length to 64 -+ -+ OPTIND=1 -+ ngx_uniq= -+ N=0 -+ -+ while getopts ":" opt "-$1"; do -+ case "$OPTARG" in -+ [A-Za-z0-9]) -+ ngx_uniq=${ngx_uniq}$OPTARG -+ ;; -+ *) -+ ngx_uniq=${ngx_uniq}_ -+ ;; -+ esac -+ -+ N=$(($N + 1)) -+ -+ if [ $N -gt 64 ]; then -+ break -+ fi -+ done -+ -+ NGX_AUTOTEST_CACHE=$NGX_FC_PATH/$2.$ngx_uniq.cache -+ -+ if [ -f $NGX_AUTOTEST_CACHE ]; then -+ -+ . $NGX_AUTOTEST_CACHE -+ -+ if [ $ngx_found = yes ]; then -+ echo "using cached $1 ... found" -+ else -+ echo "using cached $1 ... not found" -+ fi -+ -+ return 0 -+ -+ else -+ return 1 -+ fi -+} -+ -+ -+cache_output_start() -+{ -+ exec 3>&1 1>$NGX_AUTOTEST_CACHE -+} -+ -+ -+cache_output_end() -+{ -+ exec 1>&3 3>&- -+} -diff --git a/auto/cc/clang b/auto/cc/clang ---- a/auto/cc/clang -+++ b/auto/cc/clang -@@ -1,18 +1,11 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Nginx, Inc. - - - # clang - -- --NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \ -- | sed -n -e 's/^.*clang version \(.*\)/\1/p' \ -- -e 's/^.*LLVM version \(.*\)/\1/p'` -- --echo " + clang version: $NGX_CLANG_VER" -- --have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define -- -+. auto/cc/clang.version - - CC_TEST_FLAGS="-pipe" - -diff --git a/auto/cc/clang.version b/auto/cc/clang.version -new file mode 100644 ---- /dev/null -+++ b/auto/cc/clang.version -@@ -0,0 +1,28 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "clang version" "cc"; then -+ return -+fi -+ -+NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \ -+ | sed -n -e 's/^.*clang version \(.*\)/\1/p' \ -+ -e 's/^.*LLVM version \(.*\)/\1/p'` -+ -+echo " + clang version: $NGX_CLANG_VER" -+ -+have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "NGX_CLANG_VER=\"$NGX_CLANG_VER\"" -+echo 'have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define' -+ -+cache_output_end -diff --git a/auto/cc/conf b/auto/cc/conf ---- a/auto/cc/conf -+++ b/auto/cc/conf -@@ -35,6 +35,26 @@ ngx_spacer= - ngx_long_regex_cont=$ngx_regex_cont - ngx_long_cont=$ngx_cont - -+ -+if [ "$NGX_PLATFORM" != win32 ]; then -+ -+ ngx_feature="C compiler" -+ ngx_feature_name= -+ ngx_feature_run=yes -+ ngx_feature_incs= -+ ngx_feature_path= -+ ngx_feature_libs= -+ ngx_feature_test= -+ . auto/feature -+ -+ if [ $ngx_found = no ]; then -+ echo -+ echo $0: error: C compiler $CC is not found -+ echo -+ exit 1 -+ fi -+fi -+ - . auto/cc/name - - if test -n "$CFLAGS"; then -diff --git a/auto/cc/gcc b/auto/cc/gcc ---- a/auto/cc/gcc -+++ b/auto/cc/gcc -@@ -1,20 +1,10 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - --# gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 --# 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 --# 4.0.0, 4.0.1, 4.1.0 -- -- --NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \ -- | sed -e 's/^.* version \(.*\)/\1/'` -- --echo " + gcc version: $NGX_GCC_VER" -- --have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define -- -+. auto/cc/gcc.version - - # Solaris 7's /usr/ccs/bin/as does not support "-pipe" - -diff --git a/auto/cc/gcc.version b/auto/cc/gcc.version -new file mode 100644 ---- /dev/null -+++ b/auto/cc/gcc.version -@@ -0,0 +1,33 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Igor Sysoev -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "gcc version" "cc"; then -+ return -+fi -+ -+# gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 -+# 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 -+# 4.0.0, 4.0.1, 4.1.0 -+ -+ -+NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \ -+ | sed -e 's/^.* version \(.*\)/\1/'` -+ -+echo " + gcc version: $NGX_GCC_VER" -+ -+have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "NGX_GCC_VER=\"$NGX_GCC_VER\"" -+echo 'have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define' -+ -+cache_output_end -diff --git a/auto/cc/name b/auto/cc/name ---- a/auto/cc/name -+++ b/auto/cc/name -@@ -1,29 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - --if [ "$NGX_PLATFORM" != win32 ]; then -- -- ngx_feature="C compiler" -- ngx_feature_name= -- ngx_feature_run=yes -- ngx_feature_incs= -- ngx_feature_path= -- ngx_feature_libs= -- ngx_feature_test= -- . auto/feature -- -- if [ $ngx_found = no ]; then -- echo -- echo $0: error: C compiler $CC is not found -- echo -- exit 1 -- fi -- -+if check_cache "compiler name" "cc"; then -+ return - fi - -- - if [ "$CC" = cl ]; then - NGX_CC_NAME=msvc - echo " + using Microsoft Visual C++ compiler" -@@ -68,3 +52,14 @@ else - NGX_CC_NAME=unknown - - fi -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "NGX_CC_NAME=$NGX_CC_NAME" -+ -+cache_output_end -diff --git a/auto/endianness b/auto/endianness ---- a/auto/endianness -+++ b/auto/endianness -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "little endian" "endianness"; then -+ return -+fi -+ - echo $ngx_n "checking for system byte ordering ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -12,6 +17,7 @@ checking for system byte ordering - - END - -+ngx_found=no - - cat << END > $NGX_AUTOTEST.c - -@@ -26,8 +32,10 @@ int main(void) { - - END - --ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" -+ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_LD_OPT $ngx_feature_libs)" - - eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" - -@@ -35,6 +43,7 @@ if [ -x $NGX_AUTOTEST ]; then - if $NGX_AUTOTEST >/dev/null 2>&1; then - echo " little endian" - have=NGX_HAVE_LITTLE_ENDIAN . auto/have -+ ngx_found=yes - else - echo " big endian" - fi -@@ -48,3 +57,17 @@ else - echo "$0: error: cannot detect system byte ordering" - exit 1 - fi -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=$ngx_found" -+ -+if [ $ngx_found = yes ]; then -+ echo "have=NGX_HAVE_LITTLE_ENDIAN . auto/have" -+fi -+ -+cache_output_end -diff --git a/auto/feature b/auto/feature ---- a/auto/feature -+++ b/auto/feature -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "$ngx_feature" "feature"; then -+ return -+fi -+ - echo $ngx_n "checking for $ngx_feature ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -13,10 +18,12 @@ checking for $ngx_feature - END - - ngx_found=no -+ngx_add_have=no -+ngx_add_value=no - - if test -n "$ngx_feature_name"; then -- ngx_have_feature=`echo $ngx_feature_name \ -- | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` -+ name2macro "$ngx_feature_name" -+ ngx_have_feature="$res" - fi - - if test -n "$ngx_feature_path"; then -@@ -39,8 +46,10 @@ int main(void) { - END - - --ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \ -- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_TEST_LD_OPT $ngx_feature_libs" -+ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \ -+ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_TEST_LD_OPT $ngx_feature_libs)" - - ngx_feature_inc_path= - -@@ -59,6 +68,7 @@ if [ -x $NGX_AUTOTEST ]; then - - if test -n "$ngx_feature_name"; then - have=$ngx_have_feature . auto/have -+ ngx_add_have=yes - fi - - else -@@ -72,13 +82,9 @@ if [ -x $NGX_AUTOTEST ]; then - echo " found" - ngx_found=yes - -- cat << END >> $NGX_AUTO_CONFIG_H -+ have="$ngx_feature_name" value="$($NGX_AUTOTEST)" . auto/define -+ ngx_add_value=$value - --#ifndef $ngx_feature_name --#define $ngx_feature_name `$NGX_AUTOTEST` --#endif -- --END - else - echo " found but is not working" - fi -@@ -95,6 +101,7 @@ END - - if test -n "$ngx_feature_name"; then - have=$ngx_have_feature . auto/have -+ ngx_add_have=yes - fi - fi - ;; -@@ -105,6 +112,7 @@ END - - if test -n "$ngx_feature_name"; then - have=$ngx_have_feature . auto/have -+ ngx_add_have=yes - fi - ;; - -@@ -121,3 +129,21 @@ else - fi - - rm -rf $NGX_AUTOTEST* -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=$ngx_found" -+ -+if [ $ngx_add_have = yes ]; then -+ echo "have=$ngx_have_feature . auto/have" -+fi -+ -+if [ $ngx_add_value != no ]; then -+ echo "have=\"$ngx_feature_name\" value=\"$ngx_add_value\" . auto/define" -+fi -+ -+cache_output_end -diff --git a/auto/include b/auto/include ---- a/auto/include -+++ b/auto/include -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "$ngx_include" "include"; then -+ return -+fi -+ - echo $ngx_n "checking for $ngx_include ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -27,7 +32,8 @@ int main(void) { - END - - --ngx_test="$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c" -+ngx_test="($CC -c -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC -o $NGX_AUTOTEST $NGX_AUTOTEST.o)" - - eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" - -@@ -37,9 +43,8 @@ if [ -x $NGX_AUTOTEST ]; then - - echo " found" - -- ngx_name=`echo $ngx_include \ -- | tr abcdefghijklmnopqrstuvwxyz/. ABCDEFGHIJKLMNOPQRSTUVWXYZ__` -- -+ name2macro "$ngx_include" -+ ngx_name="$res" - - have=NGX_HAVE_$ngx_name . auto/have_headers - -@@ -56,3 +61,18 @@ else - fi - - rm -rf $NGX_AUTOTEST* -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=$ngx_found" -+ -+if [ $ngx_found = yes ]; then -+ echo "have=NGX_HAVE_$ngx_name . auto/have_headers" -+ echo "NGX_INCLUDE_$ngx_name='#include <$ngx_include>'" -+fi -+ -+cache_output_end -diff --git a/auto/make b/auto/make ---- a/auto/make -+++ b/auto/make -@@ -1,8 +1,96 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+dirsep() -+{ -+ if [ "$ngx_dirsep" = "/" ]; then -+ res="$@" -+ return -+ fi -+ -+ res=$(echo "$@" | sed -e "s/\//$ngx_regex_dirsep/g") -+} -+ -+ -+fmt_link() -+{ -+ dirsep "$@" -+ res="$ngx_long_cont$res" -+} -+ -+ -+fmt_list() -+{ -+ first="$1" -+ shift -+ last= -+ -+ for i in $@; do -+ last="$last$prefix$i" -+ done -+ -+ dirsep "$first$last" -+} -+ -+ -+fmt_incs() -+{ -+ prefix="$ngx_cont$ngx_include_opt" fmt_list "$@" -+} -+ -+ -+fmt_deps() -+{ -+ prefix="$ngx_cont" fmt_list "$@" -+} -+ -+ -+fmt_objs() -+{ -+ prefix="$ngx_long_cont" fmt_list "$@" -+} -+ -+ -+src2obj() -+{ -+ res= -+ case $1 in -+ *.c) res="${1%.c}.$ngx_objext" ;; -+ *.cc) res="${1%.cc}.$ngx_objext" ;; -+ *.cpp) res="${1%.cpp}.$ngx_objext";; -+ *.S) res="${1%.S}.$ngx_objext" ;; -+ *) res="$1" ;; -+ esac -+ -+ res="$NGX_OBJS$ngx_dirsep$res" -+} -+ -+ -+srcs2objs() -+{ -+ res= -+ -+ for i in $@; do -+ case $i in -+ *.c) i="${i%.c}.$ngx_objext" ;; -+ *.cc) i="${i%.cc}.$ngx_objext" ;; -+ *.cpp) i="${i%.cpp}.$ngx_objext";; -+ *.S) i="${i%.S}.$ngx_objext" ;; -+ *) i="$i" ;; -+ esac -+ -+ if [ -n "$res" ]; then -+ res="$res $NGX_OBJS/$i" -+ else -+ res="$NGX_OBJS/$i" -+ fi -+ done -+} -+ -+ - echo "creating $NGX_MAKEFILE" - - mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ -@@ -15,8 +103,8 @@ mkdir -p $NGX_OBJS/src/core $NGX_OBJS/sr - $NGX_OBJS/src/misc - - --ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep --ngx_use_pch=`echo $NGX_USE_PCH | sed -e "s/\//$ngx_regex_dirsep/g"` -+dirsep "$NGX_USE_PCH" -+ngx_use_pch=$res - - - cat << END > $NGX_MAKEFILE -@@ -38,9 +126,8 @@ fi - - # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers - --ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS $STREAM_INCS\ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+fmt_incs $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS $STREAM_INCS -+ngx_incs=$res - - cat << END >> $NGX_MAKEFILE - -@@ -54,13 +141,11 @@ ngx_all_srcs="$CORE_SRCS" - - # the core dependencies and include paths - --ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+fmt_deps $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH -+ngx_deps=$res - --ngx_incs=`echo $CORE_INCS $NGX_OBJS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+fmt_incs $CORE_INCS $NGX_OBJS -+ngx_incs=$res - - cat << END >> $NGX_MAKEFILE - -@@ -78,13 +163,11 @@ if [ $HTTP = YES ]; then - - ngx_all_srcs="$ngx_all_srcs $HTTP_SRCS" - -- ngx_deps=`echo $HTTP_DEPS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_deps $HTTP_DEPS -+ ngx_deps=$res - -- ngx_incs=`echo $HTTP_INCS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_incs $HTTP_INCS -+ ngx_incs=$res - - cat << END >> $NGX_MAKEFILE - -@@ -106,13 +189,11 @@ if [ $MAIL != NO ]; then - ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS" - fi - -- ngx_deps=`echo $MAIL_DEPS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_deps $MAIL_DEPS -+ ngx_deps=$res - -- ngx_incs=`echo $MAIL_INCS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_incs $MAIL_INCS -+ ngx_incs=$res - - cat << END >> $NGX_MAKEFILE - -@@ -134,13 +215,11 @@ if [ $STREAM != NO ]; then - ngx_all_srcs="$ngx_all_srcs $STREAM_SRCS" - fi - -- ngx_deps=`echo $STREAM_DEPS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_deps $STREAM_DEPS -+ ngx_deps=$res - -- ngx_incs=`echo $STREAM_INCS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_incs $STREAM_INCS -+ ngx_incs=$res - - cat << END >> $NGX_MAKEFILE - -@@ -170,7 +249,8 @@ fi - - # angie - --ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"` -+dirsep $ngx_all_srcs -+ngx_all_srcs=$res - - for ngx_src in $NGX_ADDON_SRCS - do -@@ -178,49 +258,45 @@ do - - test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj - -- ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ -- | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_obj/`basename $ngx_src`; ngx_obj=$res - - ngx_all_srcs="$ngx_all_srcs $ngx_obj" - done - --ngx_all_objs=`echo $ngx_all_srcs \ -- | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"` -+srcs2objs $ngx_all_srcs -+ngx_all_objs=$res - --ngx_modules_c=`echo $NGX_MODULES_C | sed -e "s/\//$ngx_regex_dirsep/g"` -+dirsep $NGX_MODULES_C -+ngx_modules_c=$res - --ngx_modules_obj=`echo $ngx_modules_c | sed -e "s/\(.*\.\)c/\1$ngx_objext/"` -+ngx_modules_obj=${ngx_modules_c%.c}.$ngx_objext - - - if test -n "$NGX_RES"; then - ngx_res=$NGX_RES - else - ngx_res="$NGX_RC $NGX_ICONS" -- ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $NGX_RCC -+ ngx_rcc=$res - fi - --ngx_deps=`echo $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+fmt_deps $ngx_all_objs $ngx_modules_obj $ngx_res $LINK_DEPS -+ngx_deps=$res - --ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+fmt_objs $ngx_all_objs $ngx_modules_obj -+ngx_objs=$res - - ngx_libs= - if test -n "$NGX_LD_OPT$CORE_LIBS"; then -- ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` -+ fmt_link $NGX_LD_OPT $CORE_LIBS -+ ngx_libs=$res - fi - --ngx_link=${CORE_LINK:+`echo $CORE_LINK \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} -+fmt_link $CORE_LINK -+ngx_link=${CORE_LINK:+$res} - --ngx_main_link=${MAIN_LINK:+`echo $MAIN_LINK \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} -+fmt_link $MAIN_LINK -+ngx_main_link=${MAIN_LINK:+$res} - - - cat << END >> $NGX_MAKEFILE -@@ -258,12 +334,8 @@ END - - for ngx_src in $CORE_SRCS - do -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_obj=`echo $ngx_src \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -+ dirsep $ngx_src; ngx_src=$res -+ src2obj $ngx_src; ngx_obj=$res - - cat << END >> $NGX_MAKEFILE - -@@ -289,12 +361,8 @@ if [ $HTTP = YES ]; then - - for ngx_source in $HTTP_SRCS - do -- ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_obj=`echo $ngx_src \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -+ dirsep $ngx_source; ngx_src=$res -+ src2obj $ngx_src; ngx_obj=$res - - if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then - -@@ -331,12 +399,8 @@ if [ $MAIL = YES ]; then - - for ngx_src in $MAIL_SRCS - do -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_obj=`echo $ngx_src \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -+ dirsep $ngx_src; ngx_src=$res -+ src2obj $ngx_src; ngx_obj=$res - - cat << END >> $NGX_MAKEFILE - -@@ -361,12 +425,8 @@ if [ $STREAM = YES ]; then - - for ngx_src in $STREAM_SRCS - do -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_obj=`echo $ngx_src \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -+ dirsep $ngx_src; ngx_src=$res -+ src2obj $ngx_src; ngx_obj=$res - - cat << END >> $NGX_MAKEFILE - -@@ -387,12 +447,8 @@ if test -n "$MISC_SRCS"; then - - for ngx_src in $MISC_SRCS - do -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_obj=`echo $ngx_src \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -+ dirsep $ngx_src; ngx_src=$res -+ src2obj $ngx_src; ngx_obj=$res - - cat << END >> $NGX_MAKEFILE - -@@ -415,16 +471,9 @@ if test -n "$NGX_ADDON_SRCS"; then - do - ngx_obj="addon/`basename \`dirname $ngx_src\``" - -- ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ -- | sed -e "s/\//$ngx_regex_dirsep/g"` -- -- ngx_obj=`echo $ngx_obj \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -- -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_obj/`basename $ngx_src`; ngx_obj=$res -+ src2obj $ngx_obj; ngx_obj=$res -+ dirsep $ngx_src; ngx_src=$res - - cat << END >> $NGX_MAKEFILE - -@@ -454,9 +503,8 @@ fi - - if test -n "$NGX_RES"; then - -- ngx_res=`echo "$NGX_RES: $NGX_RC $NGX_ICONS" \ -- | sed -e "s/\//$ngx_regex_dirsep/g"` -- ngx_rcc=`echo $NGX_RCC | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep "$NGX_RES: $NGX_RC $NGX_ICONS"; ngx_res=$res -+ dirsep $NGX_RCC; ngx_rcc=$res - - cat << END >> $NGX_MAKEFILE - -@@ -474,11 +522,12 @@ if test -n "$NGX_PCH"; then - echo "#include " > $NGX_OBJS/ngx_pch.c - - ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h" -- ngx_pch=`echo "$NGX_PCH: $ngx_pch" | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep "$NGX_PCH: $ngx_pch" -+ ngx_pch=$res - - ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)" - ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c" -- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_src; ngx_src=$res - - cat << END >> $NGX_MAKEFILE - -@@ -563,10 +612,9 @@ END - - END - -- ngx_modules_c=`echo $ngx_modules_c | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_modules_c; ngx_modules_c=$res - -- ngx_modules_obj=`echo $ngx_modules_c \ -- | sed -e "s/\(.*\.\)c/\1$ngx_objext/"` -+ ngx_modules_obj=${ngx_modules_c%.c}.$ngx_objext - - ngx_module_objs= - for ngx_src in $ngx_module_srcs $ngx_module_shrd -@@ -585,19 +633,14 @@ END - ngx_module_objs="$ngx_module_objs $ngx_obj" - done - -- ngx_module_objs=`echo $ngx_module_objs \ -- | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \ -- -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"` -+ srcs2objs $ngx_module_objs -+ ngx_module_objs=$res - -- ngx_deps=`echo $ngx_module_objs $ngx_modules_obj $LINK_DEPS \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_deps $ngx_module_objs $ngx_modules_obj $LINK_DEPS -+ ngx_deps=$res - -- ngx_objs=`echo $ngx_module_objs $ngx_modules_obj \ -- | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \ -- -e "s/\//$ngx_regex_dirsep/g"` -+ fmt_objs $ngx_module_objs $ngx_modules_obj -+ ngx_objs=$res - - ngx_obj=$NGX_OBJS$ngx_dirsep$ngx_module$ngx_modext - -@@ -607,15 +650,15 @@ END - - ngx_libs= - if test -n "$NGX_LD_OPT$ngx_module_libs"; then -- ngx_libs=`echo $NGX_LD_OPT $ngx_module_libs \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"` -+ fmt_link $NGX_LD_OPT $ngx_module_libs -+ ngx_libs=$res - fi - -- ngx_link=${CORE_LINK:+`echo $CORE_LINK \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} -+ fmt_link $CORE_LINK -+ ngx_link=${CORE_LINK:+$res} - -- ngx_module_link=${MODULE_LINK:+`echo $MODULE_LINK \ -- | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`} -+ fmt_link $MODULE_LINK -+ ngx_module_link=${MODULE_LINK:+$res} - - - cat << END >> $NGX_MAKEFILE -@@ -635,22 +678,16 @@ END - do - case "$ngx_source" in - src/*) -- ngx_obj=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_source; ngx_obj=$res - ;; - *) - ngx_obj="addon/`basename \`dirname $ngx_source\``" -- ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \ -- | sed -e "s/\//$ngx_regex_dirsep/g"` -+ dirsep $ngx_obj/`basename $ngx_source`; ngx_obj=$res - ;; - esac - -- ngx_obj=`echo $ngx_obj \ -- | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -- -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` -- -- ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` -+ src2obj $ngx_obj; ngx_obj=$res -+ dirsep $ngx_source; ngx_src=$res - - if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then - -diff --git a/auto/options b/auto/options ---- a/auto/options -+++ b/auto/options -@@ -18,6 +18,8 @@ NGX_USER= - NGX_GROUP= - NGX_BUILD= - -+NGX_FEATURE_CACHE=NO -+ - CC=${CC:-cc} - CPP= - NGX_OBJS=objs -@@ -229,6 +231,9 @@ do - --user=*) NGX_USER="$value" ;; - --group=*) NGX_GROUP="$value" ;; - -+ --feature-cache) NGX_FEATURE_CACHE=YES ;; -+ --feature-cache=*) NGX_FEATURE_CACHE=$value ;; -+ - --crossbuild=*) NGX_PLATFORM="$value" ;; - - --build=*) NGX_BUILD="$value" ;; -@@ -494,6 +499,9 @@ cat << END - --group=GROUP set non-privileged group for - worker processes - -+ --feature-cache enable configure feature cache -+ --feature-cache=path use configure feature cache at given path -+ - --build=NAME set build name - --builddir=DIR set build directory - -diff --git a/auto/os/freebsd b/auto/os/freebsd ---- a/auto/os/freebsd -+++ b/auto/os/freebsd -@@ -1,4 +1,5 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - -@@ -12,17 +13,7 @@ CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS" - ngx_spacer=' - ' - -- --# __FreeBSD_version and sysctl kern.osreldate are the best ways --# to determine whether some capability exists and is safe to use. --# __FreeBSD_version is used for the testing of the build environment. --# sysctl kern.osreldate is used for the testing of the kernel capabilities. -- --version=`grep "#define __FreeBSD_version" /usr/include/osreldate.h \ -- | sed -e 's/^.* \(.*\)$/\1/'` -- --osreldate=`/sbin/sysctl -n kern.osreldate` -- -+. auto/os/freebsd.version - - # setproctitle() in libutil - -diff --git a/auto/os/freebsd.version b/auto/os/freebsd.version -new file mode 100644 ---- /dev/null -+++ b/auto/os/freebsd.version -@@ -0,0 +1,31 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Igor Sysoev -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "freebsd version" "os"; then -+ return -+fi -+ -+# __FreeBSD_version and sysctl kern.osreldate are the best ways -+# to determine whether some capability exists and is safe to use. -+# __FreeBSD_version is used for the testing of the build environment. -+# sysctl kern.osreldate is used for the testing of the kernel capabilities. -+ -+version=`grep "#define __FreeBSD_version" /usr/include/osreldate.h \ -+ | sed -e 's/^.* \(.*\)$/\1/'` -+ -+osreldate=`/sbin/sysctl -n kern.osreldate` -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "version=\"$version\"" -+echo "osreldate=\"$osreldate\"" -+ -+cache_output_end -diff --git a/auto/os/linux b/auto/os/linux ---- a/auto/os/linux -+++ b/auto/os/linux -@@ -1,4 +1,5 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - -@@ -15,16 +16,7 @@ ngx_spacer=' - cc_aux_flags="$CC_AUX_FLAGS" - CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" - -- --# Linux kernel version -- --version=$((`uname -r \ -- | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \ -- \1*256*256+\2*256+\3/p' \ -- -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`)) -- --version=${version:-0} -- -+. auto/os/linux.kernel_version - - # posix_fadvise64() had been implemented in 2.5.60 - -diff --git a/auto/os/linux.kernel_version b/auto/os/linux.kernel_version -new file mode 100644 ---- /dev/null -+++ b/auto/os/linux.kernel_version -@@ -0,0 +1,29 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Igor Sysoev -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "kernel version" "os"; then -+ return -+fi -+ -+# Linux kernel version -+ -+version=$((`uname -r \ -+ | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \ -+ \1*256*256+\2*256+\3/p' \ -+ -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`)) -+ -+version=${version:-0} -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "version=\"$version\"" -+ -+cache_output_end -diff --git a/auto/platform b/auto/platform -new file mode 100644 ---- /dev/null -+++ b/auto/platform -@@ -0,0 +1,39 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Igor Sysoev -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "OS info" "os"; then -+ return -+fi -+ -+echo "checking for OS" -+ -+NGX_SYSTEM=`uname -s 2>/dev/null` -+NGX_RELEASE=`uname -r 2>/dev/null` -+NGX_MACHINE=`uname -m 2>/dev/null` -+ -+echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE" -+ -+NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE"; -+ -+case "$NGX_SYSTEM" in -+ MINGW32_* | MINGW64_* | MSYS_*) -+ NGX_PLATFORM=win32 -+ ;; -+esac -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "NGX_SYSTEM=\"$NGX_SYSTEM\"" -+echo "NGX_RELEASE=\"$NGX_RELEASE\"" -+echo "NGX_MACHINE=\"$NGX_MACHINE\"" -+echo "NGX_PLATFORM=\"$NGX_PLATFORM\"" -+ -+cache_output_end -diff --git a/auto/types/sizeof b/auto/types/sizeof ---- a/auto/types/sizeof -+++ b/auto/types/sizeof -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "$ngx_type" "sizeof"; then -+ return -+fi -+ - echo $ngx_n "checking for $ngx_type size ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -33,8 +38,10 @@ int main(void) { - END - - --ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" -+ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_LD_OPT $ngx_feature_libs)" - - eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" - -@@ -74,3 +81,16 @@ esac - - rm -rf $NGX_AUTOTEST* - -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "ngx_size=$ngx_size" -+echo "ngx_max_value=$ngx_max_value" -+echo "ngx_max_len='$ngx_max_len'" -+ -+cache_output_end -diff --git a/auto/types/typedef b/auto/types/typedef ---- a/auto/types/typedef -+++ b/auto/types/typedef -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "$ngx_type" "typedef"; then -+ return -+fi -+ - echo $ngx_n "checking for $ngx_type ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -34,8 +39,10 @@ int main(void) { - - END - -- ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" -+ ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_LD_OPT $ngx_feature_libs)" - - eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" - -@@ -80,3 +87,17 @@ fi - if [ $ngx_found != yes ]; then - echo "typedef $ngx_found $ngx_type;" >> $NGX_AUTO_CONFIG_H - fi -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+ -+if [ $ngx_found != yes ]; then -+ echo "echo \"typedef $ngx_found $ngx_type;\" >> \$NGX_AUTO_CONFIG_H" -+fi -+ -+cache_output_end -diff --git a/auto/types/uintptr_t b/auto/types/uintptr_t ---- a/auto/types/uintptr_t -+++ b/auto/types/uintptr_t -@@ -1,8 +1,13 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - - -+if check_cache "uintptr_t type" "uintptr_t"; then -+ return -+fi -+ - echo $ngx_n "checking for uintptr_t ...$ngx_c" - - cat << END >> $NGX_AUTOCONF_ERR -@@ -26,8 +31,10 @@ int main(void) { - - END - --ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT" -+ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ -+ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -+ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_LD_OPT)" - - eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" - -@@ -48,3 +55,23 @@ if [ $found = no ]; then - echo "typedef $found uintptr_t;" >> $NGX_AUTO_CONFIG_H - echo "typedef $found intptr_t;" | sed -e 's/u//g' >> $NGX_AUTO_CONFIG_H - fi -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+ -+if [ $found = yes ]; then -+ cache_output_end -+ return -+fi -+ -+sfound=$(echo $found | sed -e 's/u//g') -+ -+echo "echo \"typedef $found uintptr_t;\" >> \$NGX_AUTO_CONFIG_H" -+echo "echo \"typedef $sfound intptr_t;\" >> \$NGX_AUTO_CONFIG_H" -+ -+cache_output_end -diff --git a/auto/unix b/auto/unix ---- a/auto/unix -+++ b/auto/unix -@@ -1,4 +1,5 @@ - -+# Copyright (C) 2024 Web Server LLC - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - -@@ -6,24 +7,7 @@ - NGX_USER=${NGX_USER:-nobody} - - if [ -z "$NGX_GROUP" ]; then -- if [ $NGX_USER = nobody ]; then -- if grep nobody /etc/group 2>&1 >/dev/null; then -- echo "checking for nobody group ... found" -- NGX_GROUP=nobody -- else -- echo "checking for nobody group ... not found" -- -- if grep nogroup /etc/group 2>&1 >/dev/null; then -- echo "checking for nogroup group ... found" -- NGX_GROUP=nogroup -- else -- echo "checking for nogroup group ... not found" -- NGX_GROUP=nobody -- fi -- fi -- else -- NGX_GROUP=$NGX_USER -- fi -+ . auto/unix.group - fi - - -diff --git a/auto/unix.group b/auto/unix.group -new file mode 100644 ---- /dev/null -+++ b/auto/unix.group -@@ -0,0 +1,39 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+# Copyright (C) Igor Sysoev -+# Copyright (C) Nginx, Inc. -+ -+ -+if check_cache "unix group" "os"; then -+ return -+fi -+ -+if [ $NGX_USER = nobody ]; then -+ if grep nobody /etc/group 2>&1 >/dev/null; then -+ echo "checking for nobody group ... found" -+ NGX_GROUP=nobody -+ else -+ echo "checking for nobody group ... not found" -+ -+ if grep nogroup /etc/group 2>&1 >/dev/null; then -+ echo "checking for nogroup group ... found" -+ NGX_GROUP=nogroup -+ else -+ echo "checking for nogroup group ... not found" -+ NGX_GROUP=nobody -+ fi -+ fi -+else -+ NGX_GROUP=$NGX_USER -+fi -+ -+if [ $NGX_FEATURE_CACHE = NO ]; then -+ return -+fi -+ -+cache_output_start -+ -+echo "ngx_found=yes" -+echo "NGX_GROUP=$NGX_GROUP" -+ -+cache_output_end -diff --git a/auto/utils b/auto/utils -new file mode 100644 ---- /dev/null -+++ b/auto/utils -@@ -0,0 +1,33 @@ -+ -+# Copyright (C) 2024 Web Server LLC -+ -+ -+name2macro() -+{ -+ case "$1" in -+ *[a-z/.]*) -+ ;; -+ *) -+ res=$1 -+ return -+ ;; -+ esac -+ -+ OPTIND=1 -+ res= -+ -+ while getopts ":" opt "-$1"; do -+ r= -+ case "$OPTARG" in -+ "a") r="A" ;; "b") r="B" ;; "c") r="C" ;; "d") r="D" ;; -+ "e") r="E" ;; "f") r="F" ;; "g") r="G" ;; "h") r="H" ;; -+ "i") r="I" ;; "j") r="J" ;; "k") r="K" ;; "l") r="L" ;; -+ "m") r="M" ;; "n") r="N" ;; "o") r="O" ;; "p") r="P" ;; -+ "q") r="Q" ;; "r") r="R" ;; "s") r="S" ;; "t") r="T" ;; -+ "u") r="U" ;; "v") r="V" ;; "w") r="W" ;; "x") r="X" ;; -+ "y") r="Y" ;; "z") r="Z" ;; "/") r="_" ;; ".") r="_" ;; -+ *) r="${OPTARG}" ;; -+ esac -+ res="$res$r" -+ done -+} -diff --git a/configure b/configure ---- a/configure -+++ b/configure -@@ -10,6 +10,8 @@ export LC_ALL - - . auto/options - . auto/init -+. auto/utils -+. auto/cache - . auto/sources - - test -d $NGX_OBJS || mkdir -p $NGX_OBJS -@@ -26,21 +28,7 @@ fi - - - if test -z "$NGX_PLATFORM"; then -- echo "checking for OS" -- -- NGX_SYSTEM=`uname -s 2>/dev/null` -- NGX_RELEASE=`uname -r 2>/dev/null` -- NGX_MACHINE=`uname -m 2>/dev/null` -- -- echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE" -- -- NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE"; -- -- case "$NGX_SYSTEM" in -- MINGW32_* | MINGW64_* | MSYS_*) -- NGX_PLATFORM=win32 -- ;; -- esac -+ . auto/platform - - else - echo "building for $NGX_PLATFORM" diff --git a/SOURCES/http-auth-radius.patch b/SOURCES/http-auth-radius.patch new file mode 100644 index 0000000..d9ba7a6 --- /dev/null +++ b/SOURCES/http-auth-radius.patch @@ -0,0 +1,10 @@ +--- src/ngx_http_auth_radius_module.c ++++ src/ngx_http_auth_radius_module.c +@@ -1,7 +1,7 @@ +-#include + #include + #include + #include ++#include + #include "logger.h" + #include "radius_lib.h" diff --git a/SOURCES/modsecurity-mbedtls.patch b/SOURCES/modsecurity-mbedtls.patch new file mode 100644 index 0000000..22a0d93 --- /dev/null +++ b/SOURCES/modsecurity-mbedtls.patch @@ -0,0 +1,8 @@ +--- others/Makefile.am.orig 2024-10-15 16:24:16.149894004 +0300 ++++ others/Makefile.am 2024-10-15 16:24:27.059894009 +0300 +@@ -30,4 +30,4 @@ + + libmbedtls_la_CFLAGS = -DMBEDTLS_CONFIG_FILE=\"mbedtls/mbedtls_config.h\" -Imbedtls/include + libmbedtls_la_CPPFLAGS = +-libmbedtls_la_LIBADD = ++libmbedtls_la_LIBADD = -lpthread diff --git a/SPECS/angie.spec b/SPECS/angie.spec index 3d92c4c..eb5429f 100644 --- a/SPECS/angie.spec +++ b/SPECS/angie.spec @@ -1,6 +1,6 @@ Name: angie Version: 1.8.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Efficient, powerful and scalable reverse proxy and web server License: BSD-2-Clause URL: https://angie.software @@ -11,11 +11,11 @@ Source3: example.conf Source4: angie.logrotate Source5: angie.service Source6: angie.upgrade -Source30: nginx-auth-jwt-0.7.0.tar.gz +Source30: nginx-auth-jwt-0.9.0.tar.gz Source39: README-module-auth-jwt Source74: nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4.tar.gz Source73: README-module-auth-ldap -Source7: spnego-http-auth-nginx-module-v1.1.1.tar.gz +Source7: spnego-http-auth-nginx-module-v1.1.2.tar.gz Source40: README-module-auth-spnego Source8: ngx_brotli-v1.0.0rc.tar.gz Source41: README-module-brotli @@ -33,32 +33,36 @@ Source31: nginx-eval-module-2016.06.10.tar.gz Source46: README-module-eval Source10: ngx_http_geoip2_module-3.4.tar.gz Source47: README-module-geoip2 -Source11: headers-more-nginx-module-v0.37.tar.gz +Source11: headers-more-nginx-module-v0.38.tar.gz Source48: README-module-headers-more +Source114: ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385.tar.gz +Source115: README-module-http-auth-radius Source49: README-module-image-filter -Source19: nginx-jwt-module-v3.4.1.tar.gz +Source19: nginx-jwt-module-v3.4.2.tar.gz Source50: README-module-jwt Source26: nginx-keyval-0.3.0.tar.gz Source51: README-module-keyval -Source21: lua-resty-core-v0.1.28.tar.gz -Source22: lua-resty-lrucache-v0.13.tar.gz -Source23: luajit2-v2.1-20240626.tar.gz -Source24: lua-nginx-module-v0.10.26.tar.gz -Source25: stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63.tar.gz +Source21: lua-resty-core-v0.1.31.tar.gz +Source22: lua-resty-lrucache-v0.15.tar.gz +Source23: luajit2-v2.1-20250117.tar.gz +Source24: lua-nginx-module-v0.10.28.tar.gz +Source25: stream-lua-nginx-module-v0.0.16.tar.gz Source94: chronos-v0.2-4.tar.gz Source95: lua-cjson-2.1.0.tar.gz Source96: lua-dumper-v0.1.1.tar.gz +Source106: lua-ffi-zlib-v0.6.tar.gz Source97: inspect.lua-v3.1.3.tar.gz Source98: lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz Source99: lua-resty-http-v0.17.2.tar.gz Source100: lua-resty-jwt-v0.2.3.tar.gz -Source101: lua-resty-openidc-v1.7.6.tar.gz -Source102: lua-resty-openssl-1.4.0.tar.gz -Source103: lua-resty-session-v3.10.tar.gz -Source104: lua-resty-string-v0.15.tar.gz +Source101: lua-resty-openidc-v1.8.0.tar.gz +Source102: lua-resty-openssl-1.5.1.tar.gz +Source103: lua-resty-session-v4.0.5.tar.gz +Source104: lua-resty-string-v0.16.tar.gz Source52: README-module-lua Source67: libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz -Source68: ModSecurity-v3.0.12.tar.gz +Source105: mbedtls-v3.6.0.tar.gz +Source68: ModSecurity-v3.0.13.tar.gz Source69: ModSecurity-nginx-v1.0.3.tar.gz Source70: ssdeep-release-2.14.1.tar.gz Source71: angie-module-modsecurity.logrotate @@ -66,10 +70,11 @@ Source72: modsecurity.rules.conf Source53: README-module-modsecurity Source12: ngx_devel_kit-v0.3.3.tar.gz Source54: README-module-ndk -Source13: njs-0.8.5.tar.gz +Source13: njs-0.8.9.tar.gz +Source107: quickjs-6e2e68fd0896957f92eb6c242a2e048c1ef3cae0.tar.gz Source55: README-module-njs Source34: dd-opentracing-cpp-v1.3.7.tar.gz -Source35: nginx-opentracing-v0.35.3.tar.gz +Source35: nginx-opentracing-v0.38.0.tar.gz Source36: opentracing-cpp-v1.6.0.tar.gz Source37: zipkin-cpp-opentracing-966416e4d6aec23f572730aede6c087ccce6d194.tar.gz Source56: README-module-opentracing @@ -101,8 +106,14 @@ Source18: nginx-vod-module-1.33.tar.gz Source65: README-module-vod Source90: nginx-module-stream-sts-v0.1.1.tar.gz Source91: nginx-module-sts-v0.1.1.tar.gz -Source92: nginx-module-vts-v0.2.2.tar.gz +Source92: nginx-module-vts-v0.2.3.tar.gz Source93: README-module-vts +Source108: wasm-micro-runtime-WAMR-1.3.2.tar.gz +Source109: wasmtime-v25.0.0-x86_64-linux-c-api.tar.xz +Source110: angie-wasm-v0.2-beta2.tar.gz +Source111: README-module-wamr +Source112: README-module-wasmtime +Source113: README-module-wasm Source66: README-module-xslt Source75: mod_zip-1.3.0.tar.gz Source76: README-module-zip @@ -110,6 +121,7 @@ Source88: zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b.tar.g Source89: README-module-zstd +Patch20: http-auth-radius.patch Patch0: luajit2-luaconf.h.patch Patch1: luajit2-Makefile.patch Patch2: lua-config.patch @@ -118,6 +130,7 @@ Patch18: lua-cjson.patch Patch12: libinjection-version.patch Patch10: modsecurity-ssdeep.patch Patch11: modsecurity-libmaxminddb.patch +Patch19: modsecurity-mbedtls.patch Patch8: dd-opentracing-cpp-cmakelists.patch Patch9: opentracing-cpp-fix-ftbfs-glibc-2.34.patch Patch14: abseil-off_t.patch @@ -127,21 +140,17 @@ Patch5: ngx_postgres-dynamic.patch Patch6: ngx_postgres-subrequest_in_memory.patch Patch16: zstd-nginx-module.nostatic.patch - BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: make BuildRequires: openssl-devel -BuildRequires: pcre2-devel BuildRequires: pcre-devel -BuildRequires: libmodsecurity-devel -BuildRequires: nginx-mod-modsecurity -BuildRequires: zlib-devel +BuildRequires: pcre2-devel BuildRequires: libcurl-devel BuildRequires: msgpack-devel -BuildRequires: perl-ExtUtils-Embed -BuildRequires: perl-macros -BuildRequires: libzstd-devel +BuildRequires: perl(ExtUtils::Embed) +BuildRequires: zlib-devel Requires: systemd @@ -152,10 +161,9 @@ with brand new extra functionality. %prep rm -Rf %{_builddir}/* %setup -q - -tar -xpzf %{_sourcedir}/nginx-auth-jwt-0.7.0.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/nginx-auth-jwt-0.9.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/spnego-http-auth-nginx-module-v1.1.1.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/spnego-http-auth-nginx-module-v1.1.2.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/ngx_brotli-v1.0.0rc.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/ngx_cache_purge-2.5.3.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-dav-ext-module-v3.0.0.tar.gz -C %{_builddir} @@ -164,47 +172,55 @@ tar -xpzf %{_sourcedir}/echo-nginx-module-v0.63.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/ngx_http_enhanced_memcached_module-v0.3.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-eval-module-2016.06.10.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/ngx_http_geoip2_module-3.4.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/headers-more-nginx-module-v0.37.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/nginx-jwt-module-v3.4.1.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/headers-more-nginx-module-v0.38.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385.tar.gz -C %{_builddir} +%patch -P20 -d %{_builddir}/ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385 -p0 +tar -xpzf %{_sourcedir}/nginx-jwt-module-v3.4.2.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-keyval-0.3.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/chronos-v0.2-4.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/lua-cjson-2.1.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/lua-dumper-v0.1.1.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-ffi-zlib-v0.6.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/inspect.lua-v3.1.3.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-core-v0.1.28.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-resty-core-v0.1.31.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/lua-resty-http-v0.17.2.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/lua-resty-jwt-v0.2.3.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-lrucache-v0.13.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-openidc-v1.7.6.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-openssl-1.4.0.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-session-v3.10.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-resty-string-v0.15.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/luajit2-v2.1-20240626.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/lua-nginx-module-v0.10.26.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63.tar.gz -C %{_builddir} -%patch0 -d %{_builddir}/luajit2-2.1-20240626 -p0 -%patch1 -d %{_builddir}/luajit2-2.1-20240626 -p0 -%patch2 -d %{_builddir}/lua-nginx-module-0.10.26 -p0 -%patch3 -d %{_builddir}/stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63 -p0 -%patch18 -d %{_builddir}/lua-cjson-2.1.0 -p0 -tar -xpzf %{_sourcedir}/ModSecurity-v3.0.12.tar.gz -C %{_builddir} -rmdir %{_builddir}/ModSecurity-3.0.12/others/libinjection +tar -xpzf %{_sourcedir}/lua-resty-lrucache-v0.15.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-resty-openidc-v1.8.0.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-resty-openssl-1.5.1.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-resty-session-v4.0.5.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-resty-string-v0.16.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/luajit2-v2.1-20250117.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/lua-nginx-module-v0.10.28.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/stream-lua-nginx-module-v0.0.16.tar.gz -C %{_builddir} +%patch -P0 -d %{_builddir}/luajit2-2.1-20250117 -p0 +%patch -P1 -d %{_builddir}/luajit2-2.1-20250117 -p0 +%patch -P2 -d %{_builddir}/lua-nginx-module-0.10.28 -p0 +%patch -P3 -d %{_builddir}/stream-lua-nginx-module-0.0.16 -p0 +%patch -P18 -d %{_builddir}/lua-cjson-2.1.0 -p0 +tar -xpzf %{_sourcedir}/ModSecurity-v3.0.13.tar.gz -C %{_builddir} +rmdir %{_builddir}/ModSecurity-3.0.13/others/libinjection tar -xpzf %{_sourcedir}/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9.tar.gz -C %{_builddir} -%patch12 -d %{_builddir}/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9 -p0 -mv %{_builddir}/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9 %{_builddir}/ModSecurity-3.0.12/others/libinjection +%patch -P12 -d %{_builddir}/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9 -p0 +mv %{_builddir}/libinjection-b9fcaaf9e50e9492807b23ffcc6af46ee1f203b9 %{_builddir}/ModSecurity-3.0.13/others/libinjection +rmdir %{_builddir}/ModSecurity-3.0.13/others/mbedtls +tar -xpzf %{_sourcedir}/mbedtls-v3.6.0.tar.gz -C %{_builddir} +mv %{_builddir}/mbedtls-3.6.0 %{_builddir}/ModSecurity-3.0.13/others/mbedtls tar -xpzf %{_sourcedir}/ModSecurity-nginx-v1.0.3.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/ssdeep-release-2.14.1.tar.gz -C %{_builddir} -%patch10 -d %{_builddir}/ModSecurity-3.0.12 -p0 -%patch11 -d %{_builddir}/ModSecurity-3.0.12 -p0 +%patch -P10 -d %{_builddir}/ModSecurity-3.0.13 -p0 +%patch -P11 -d %{_builddir}/ModSecurity-3.0.13 -p0 +%patch -P19 -d %{_builddir}/ModSecurity-3.0.13 -p0 tar -xpzf %{_sourcedir}/ngx_devel_kit-v0.3.3.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/njs-0.8.5.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/njs-0.8.9.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/quickjs-6e2e68fd0896957f92eb6c242a2e048c1ef3cae0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/dd-opentracing-cpp-v1.3.7.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/nginx-opentracing-v0.35.3.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/nginx-opentracing-v0.38.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/opentracing-cpp-v1.6.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/zipkin-cpp-opentracing-966416e4d6aec23f572730aede6c087ccce6d194.tar.gz -C %{_builddir} -%patch8 -d %{_builddir}/dd-opentracing-cpp-1.3.7 -p0 -%patch9 -d %{_builddir}/opentracing-cpp-1.6.0 -p0 +%patch -P8 -d %{_builddir}/dd-opentracing-cpp-1.3.7 -p0 +%patch -P9 -d %{_builddir}/opentracing-cpp-1.6.0 -p0 tar -xpzf %{_sourcedir}/abseil-cpp-20211102.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/c-ares-cares-1_27_0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/grpc-v1.46.7.tar.gz -C %{_builddir} @@ -213,12 +229,12 @@ tar -xpzf %{_sourcedir}/opentelemetry-cpp-v1.11.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/opentelemetry-proto-v1.0.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/protobuf-v3.19.5.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/re2-2024-03-01.tar.gz -C %{_builddir} -%patch14 -d %{_builddir}/abseil-cpp-20211102.0 -p0 -%patch15 -d %{_builddir}/abseil-cpp-20211102.0 -p0 +%patch -P14 -d %{_builddir}/abseil-cpp-20211102.0 -p0 +%patch -P15 -d %{_builddir}/abseil-cpp-20211102.0 -p0 tar -xpzf %{_sourcedir}/ngx_postgres-1.0rc7.tar.gz -C %{_builddir} -%patch4 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 -%patch5 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 -%patch6 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 +%patch -P4 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 +%patch -P5 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 +%patch -P6 -d %{_builddir}/ngx_postgres-1.0rc7 -p0 tar -xpzf %{_sourcedir}/redis2-nginx-module-v0.15.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-rtmp-module-v1.2.2.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/set-misc-nginx-module-v0.33.tar.gz -C %{_builddir} @@ -228,10 +244,13 @@ tar -xpzf %{_sourcedir}/nginx-upload-module-2.3.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-vod-module-1.33.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-module-stream-sts-v0.1.1.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/nginx-module-sts-v0.1.1.tar.gz -C %{_builddir} -tar -xpzf %{_sourcedir}/nginx-module-vts-v0.2.2.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/nginx-module-vts-v0.2.3.tar.gz -C %{_builddir} +tar -xpzf %{_sourcedir}/wasm-micro-runtime-WAMR-1.3.2.tar.gz -C %{_builddir} +tar -xpJf %{_sourcedir}/wasmtime-v25.0.0-x86_64-linux-c-api.tar.xz -C %{_builddir} +tar -xpzf %{_sourcedir}/angie-wasm-v0.2-beta2.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/mod_zip-1.3.0.tar.gz -C %{_builddir} tar -xpzf %{_sourcedir}/zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b.tar.gz -C %{_builddir} -%patch16 -d %{_builddir}/zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b -p0 +%patch -P16 -d %{_builddir}/zstd-nginx-module-f4ba115e0b0eaecde545e5f37db6aa18917d8f4b -p0 cp -Rp %{_builddir}/angie-%{version} %{_builddir}/angie-debug @@ -348,20 +367,20 @@ _build() { ) } -_build configure_add=--add-dynamic-module=../nginx-auth-jwt-0.7.0 \ +_build configure_add=--add-dynamic-module=../nginx-auth-jwt-0.9.0 \ objs_dir=module-auth-jwt cp %{_sourcedir}/README-module-auth-jwt module-auth-jwt/README -cp ../nginx-auth-jwt-0.7.0/LICENSE module-auth-jwt/LICENSE +cp ../nginx-auth-jwt-0.9.0/LICENSE module-auth-jwt/LICENSE _build configure_add=--add-dynamic-module=../nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4 \ objs_dir=module-auth-ldap cp %{_sourcedir}/README-module-auth-ldap module-auth-ldap/README cp ../nginx-auth-ldap-241200eac8e4acae74d353291bd27f79e5ca3dc4/LICENSE module-auth-ldap/LICENSE -_build configure_add=--add-dynamic-module=../spnego-http-auth-nginx-module-1.1.1 \ +_build configure_add=--add-dynamic-module=../spnego-http-auth-nginx-module-1.1.2 \ objs_dir=module-auth-spnego cp %{_sourcedir}/README-module-auth-spnego module-auth-spnego/README -cp ../spnego-http-auth-nginx-module-1.1.1/LICENSE module-auth-spnego/LICENSE +cp ../spnego-http-auth-nginx-module-1.1.2/LICENSE module-auth-spnego/LICENSE _build configure_add=--add-dynamic-module=../ngx_brotli-1.0.0rc \ objs_dir=module-brotli @@ -403,19 +422,24 @@ _build configure_add=--add-dynamic-module=../ngx_http_geoip2_module-3.4 \ cp %{_sourcedir}/README-module-geoip2 module-geoip2/README cp ../ngx_http_geoip2_module-3.4/LICENSE module-geoip2/LICENSE -_build configure_add=--add-dynamic-module=../headers-more-nginx-module-0.37 \ +_build configure_add=--add-dynamic-module=../headers-more-nginx-module-0.38 \ objs_dir=module-headers-more cp %{_sourcedir}/README-module-headers-more module-headers-more/README -cp ../headers-more-nginx-module-0.37/README.markdown module-headers-more/LICENSE +cp ../headers-more-nginx-module-0.38/README.markdown module-headers-more/LICENSE + +_build configure_add=--add-dynamic-module=../ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385 \ + objs_dir=module-http-auth-radius +cp %{_sourcedir}/README-module-http-auth-radius module-http-auth-radius/README +cp ../ngx_http_auth_radius_module-458af16e01533d52b842c74f242fff2340104385/README.md module-http-auth-radius/LICENSE _build configure_add=--with-http_image_filter_module=dynamic \ objs_dir=module-image-filter cp %{_sourcedir}/README-module-image-filter module-image-filter/README -_build configure_add=--add-dynamic-module=../nginx-jwt-module-3.4.1 \ +_build configure_add=--add-dynamic-module=../nginx-jwt-module-3.4.2 \ objs_dir=module-jwt cp %{_sourcedir}/README-module-jwt module-jwt/README -cp ../nginx-jwt-module-3.4.1/LICENSE module-jwt/LICENSE +cp ../nginx-jwt-module-3.4.2/LICENSE module-jwt/LICENSE _build configure_add=--add-dynamic-module=../nginx-keyval-0.3.0 \ objs_dir=module-keyval @@ -423,30 +447,32 @@ cp %{_sourcedir}/README-module-keyval module-keyval/README cp ../nginx-keyval-0.3.0/LICENSE module-keyval/LICENSE ( - cd ../luajit2-2.1-20240626 + cd ../luajit2-2.1-20250117 make %{?_smp_mflags} CFLAGS="$CFLAGS -fPIC" DESTDIR=$(pwd) install ) -_build configure_add="--add-dynamic-module=../lua-nginx-module-0.10.26 - --add-dynamic-module=../stream-lua-nginx-module-bea8a0c0de94cede71554f53818ac0267d675d63 +_build configure_add="--add-dynamic-module=../lua-nginx-module-0.10.28 + --add-dynamic-module=../stream-lua-nginx-module-0.0.16 --add-dynamic-module=../ngx_devel_kit-0.3.3" \ - configure_env="LUAJIT_INC=../luajit2-2.1-20240626/usr/include/luajit-2.1 - LUAJIT_LIB=../luajit2-2.1-20240626/usr/lib" \ + configure_env="LUAJIT_INC=../luajit2-2.1-20250117/usr/include/luajit-2.1 + LUAJIT_LIB=../luajit2-2.1-20250117/usr/lib" \ objs_dir=module-lua mkdir module-lua/lua-clibs -cc -O2 -fPIC -I../luajit2-2.1-20240626/src -c ../chronos-0.2-4/src/chronos.c \ +cc -O2 -fPIC -I../luajit2-2.1-20250117/src -c ../chronos-0.2-4/src/chronos.c \ -o ../chronos-0.2-4/src/chronos.o cc -shared -o module-lua/lua-clibs/chronos.so ../chronos-0.2-4/src/chronos.o -lrt make %{?_smp_mflags} -C ../lua-cjson-2.1.0 install \ - LUA_CMODULE_DIR=$(pwd)/module-lua/lua-clibs LUA_INCLUDE_DIR=../luajit2-2.1-20240626/src -make %{?_smp_mflags} -C ../lua-resty-core-0.1.28 install \ + LUA_CMODULE_DIR=$(pwd)/module-lua/lua-clibs LUA_INCLUDE_DIR=../luajit2-2.1-20250117/src +make %{?_smp_mflags} -C ../lua-resty-core-0.1.31 install \ DESTDIR=$(pwd)/module-lua/lua-libs LUA_LIB_DIR= -make %{?_smp_mflags} -C ../lua-resty-lrucache-0.13 install \ +make %{?_smp_mflags} -C ../lua-resty-lrucache-0.15 install \ DESTDIR=$(pwd)/module-lua/lua-libs LUA_LIB_DIR= cp ../lua-dumper-0.1.1/dumper.lua \ module-lua/lua-libs +cp ../lua-ffi-zlib-0.6/lib/ffi-zlib.lua \ + module-lua/lua-libs cp ../inspect.lua-3.1.3/inspect.lua \ module-lua/lua-libs cp -Rp ../lua-resty-hmac-5f60e1a28b9fdd7939f0e1738171f0ca5fe22978/lib/resty/* \ @@ -455,17 +481,17 @@ make %{?_smp_mflags} -C ../lua-resty-http-0.17.2 install \ DESTDIR=$(pwd)/module-lua/lua-libs LUA_LIB_DIR= cp -Rp ../lua-resty-jwt-0.2.3/lib/resty/* \ module-lua/lua-libs/resty -cp -Rp ../lua-resty-openidc-1.7.6/lib/resty/* \ +cp -Rp ../lua-resty-openidc-1.8.0/lib/resty/* \ module-lua/lua-libs/resty -make %{?_smp_mflags} -C ../lua-resty-openssl-1.4.0 install \ +make %{?_smp_mflags} -C ../lua-resty-openssl-1.5.1 install \ DESTDIR=$(pwd)/module-lua/lua-libs LUA_LIB_DIR= -cp -Rp ../lua-resty-session-3.10/lib/resty/* \ +cp -Rp ../lua-resty-session-4.0.5/lib/resty/* \ module-lua/lua-libs/resty -make %{?_smp_mflags} -C ../lua-resty-string-0.15 install \ +make %{?_smp_mflags} -C ../lua-resty-string-0.16 install \ DESTDIR=$(pwd)/module-lua/lua-libs LUA_LIB_DIR= cp %{_sourcedir}/README-module-lua module-lua/README -cp ../lua-nginx-module-0.10.26/README.markdown module-lua/LICENSE +cp ../lua-nginx-module-0.10.28/README.markdown module-lua/LICENSE ( cd ../ssdeep-release-2.14.1 @@ -474,10 +500,10 @@ cp ../lua-nginx-module-0.10.26/README.markdown module-lua/LICENSE --libdir=%{_builddir}/sandbox/lib \ --enable-shared=no \ --with-pic - make %{?_smp_mflags} && make install + make && make install ) ( - cd ../ModSecurity-3.0.12 + cd ../ModSecurity-3.0.13 ./build.sh ./configure --prefix=%{_builddir}/sandbox \ --libdir=%{_builddir}/sandbox/lib \ @@ -489,7 +515,7 @@ cp ../lua-nginx-module-0.10.26/README.markdown module-lua/LICENSE --with-pcre2 \ --with-pic \ --with-ssdeep=%{_builddir}/sandbox - make %{?_smp_mflags} && make install + make && make install ) _build configure_add=--add-dynamic-module=%{_builddir}/ModSecurity-nginx-1.0.3 \ cc_opt="-I%{_builddir}/sandbox/include" \ @@ -504,9 +530,9 @@ cp ../ModSecurity-nginx-1.0.3/LICENSE module-modsecurity/LICENSE sed -E -e 's,\b(SecAuditLog)\b.*,\1 /var/log/angie/modsecurity/audit.log,' \ -e 's,\b(SecDebugLog)\b.*,\1 /var/log/angie/modsecurity/debug.log,' \ -e 's,\b(SecAuditLogStorageDir)\b.*,\1 /var/log/angie/modsecurity/concurrent,' \ - ../ModSecurity-3.0.12/modsecurity.conf-recommended > \ + ../ModSecurity-3.0.13/modsecurity.conf-recommended > \ module-modsecurity/modsecurity.conf -cp ../ModSecurity-3.0.12/unicode.mapping module-modsecurity/unicode.mapping +cp ../ModSecurity-3.0.13/unicode.mapping module-modsecurity/unicode.mapping _build configure_add=--add-dynamic-module=../ngx_devel_kit-0.3.3 \ cc_opt="-DNDK_SET_VAR -DNDK_UPSTREAM_LIST" \ @@ -514,17 +540,25 @@ _build configure_add=--add-dynamic-module=../ngx_devel_kit-0.3.3 \ cp %{_sourcedir}/README-module-ndk module-ndk/README cp ../ngx_devel_kit-0.3.3/LICENSE module-ndk/LICENSE -_build configure_add=--add-dynamic-module=../njs-0.8.5/nginx \ +( + cd ../quickjs-6e2e68fd0896957f92eb6c242a2e048c1ef3cae0 + env CFLAGS="$CFLAGS -fPIC" make install PREFIX=%{_builddir}/sandbox +) + +_build configure_add=--add-dynamic-module=../njs-0.8.9/nginx \ + cc_opt="-I%{_builddir}/sandbox/include/quickjs" \ + ld_opt="-L%{_builddir}/sandbox/lib/quickjs" \ objs_dir=module-njs ( - cd ../njs-0.8.5 + cd ../njs-0.8.9 [ -f Makefile ] && make clean - ./configure --ld-opt="$LDFLAGS" + ./configure --cc-opt="-I%{_builddir}/sandbox/include/quickjs" \ + --ld-opt="$LDFLAGS -L%{_builddir}/sandbox/lib/quickjs" make %{?_smp_mflags} ) cp %{_sourcedir}/README-module-njs module-njs/README -cp ../njs-0.8.5/LICENSE module-njs/LICENSE +cp ../njs-0.8.9/LICENSE module-njs/LICENSE ( cd ../opentracing-cpp-1.6.0 @@ -566,13 +600,13 @@ cp ../njs-0.8.5/LICENSE module-njs/LICENSE make -j2 ) -_build configure_add=--add-dynamic-module=../nginx-opentracing-0.35.3/opentracing \ +_build configure_add=--add-dynamic-module=../nginx-opentracing-0.38.0/opentracing \ cc_opt="-I%{_builddir}/sandbox/include" \ ld_opt="-L%{_builddir}/sandbox/lib" \ objs_dir=module-opentracing cp %{_sourcedir}/README-module-opentracing module-opentracing/README -cp ../nginx-opentracing-0.35.3/LICENSE module-opentracing/LICENSE +cp ../nginx-opentracing-0.38.0/LICENSE module-opentracing/LICENSE ( cd ../c-ares-cares-1_27_0 @@ -739,10 +773,44 @@ cp ../nginx-vod-module-1.33/LICENSE module-vod/LICENSE _build configure_add="--add-dynamic-module=../nginx-module-stream-sts-0.1.1 --add-dynamic-module=../nginx-module-sts-0.1.1 - --add-dynamic-module=../nginx-module-vts-0.2.2" \ + --add-dynamic-module=../nginx-module-vts-0.2.3" \ objs_dir=module-vts cp %{_sourcedir}/README-module-vts module-vts/README -cp ../nginx-module-vts-0.2.2/LICENSE module-vts/LICENSE +cp ../nginx-module-vts-0.2.3/LICENSE module-vts/LICENSE + +( + cd ../wasm-micro-runtime-WAMR-1.3.2 + mkdir .build && cd .build + cmake -DCMAKE_INSTALL_PREFIX=%{_builddir}/sandbox .. + make -j2 install +) + +( + cp -Rp ../wasmtime-v25.0.0-x86_64-linux-c-api/include/* \ + %{_builddir}/sandbox/include + cp -Rp ../wasmtime-v25.0.0-x86_64-linux-c-api/lib/libwasmtime.a \ + %{_builddir}/sandbox/lib +) + +_build configure_add="--add-dynamic-module=../angie-wasm/ngx_wamr_module" \ + cc_opt="-I%{_builddir}/sandbox/include" \ + ld_opt="-L%{_builddir}/sandbox/lib -lvmlib -lm" \ + objs_dir=module-wamr + +cp %{_sourcedir}/README-module-wamr module-wamr/README + +_build configure_add="--add-dynamic-module=../angie-wasm/ngx_wasmtime_module" \ + cc_opt="-I%{_builddir}/sandbox/include" \ + ld_opt="-L%{_builddir}/sandbox/lib -lwasmtime -lm" \ + objs_dir=module-wasmtime + +cp %{_sourcedir}/README-module-wasmtime module-wasmtime/README + +_build configure_add="--add-dynamic-module=../angie-wasm/ngx_wasm_module + --add-dynamic-module=../angie-wasm/ngx_http_wasm_host_module" \ + objs_dir=module-wasm + +cp %{_sourcedir}/README-module-wasm module-wasm/README _build configure_add=--with-http_xslt_module=dynamic \ objs_dir=module-xslt @@ -836,6 +904,9 @@ install -Dm 755 module-geoip2/ngx_stream_geoip2_module*.so \ install -Dm 755 module-headers-more/ngx_http_headers_more_filter_module*.so \ -t %{buildroot}%{_libdir}/angie/modules +install -Dm 755 module-http-auth-radius/ngx_http_auth_radius_module*.so \ + -t %{buildroot}%{_libdir}/angie/modules + install -Dm 755 module-image-filter/ngx_http_image_filter_module*.so \ -t %{buildroot}%{_libdir}/angie/modules @@ -886,7 +957,7 @@ install -Dm 755 module-njs/ngx_http_js_module*.so \ install -Dm 755 module-njs/ngx_stream_js_module*.so \ -t %{buildroot}%{_libdir}/angie/modules -install -Dm 755 ../njs-0.8.5/build/njs \ +install -Dm 755 ../njs-0.8.9/build/njs \ %{buildroot}%{_bindir}/njs install -Dm 755 module-opentracing/ngx_http_opentracing_module*.so \ @@ -938,11 +1009,18 @@ install -Dm 755 module-vts/ngx_*_traffic_status_module*.so \ install -dm 755 %{buildroot}%{_datadir}/angie-module-vts/stream -install -Dm 644 %{_builddir}/nginx-module-vts-0.2.2/share/*.html \ +install -Dm 644 %{_builddir}/nginx-module-vts-0.2.3/share/*.html \ -t %{buildroot}%{_datadir}/angie-module-vts install -Dm 644 %{_builddir}/nginx-module-sts-0.1.1/share/*.html \ -t %{buildroot}%{_datadir}/angie-module-vts/stream +install -Dm 755 module-wasm/ngx_*.so \ + -t %{buildroot}%{_libdir}/angie/modules +install -Dm 755 module-wamr/ngx_wamr_module*.so \ + -t %{buildroot}%{_libdir}/angie/modules +install -Dm 755 module-wasmtime/ngx_wasmtime_module*.so \ + -t %{buildroot}%{_libdir}/angie/modules + install -Dm 755 module-xslt/ngx_http_xslt_filter_module*.so \ -t %{buildroot}%{_libdir}/angie/modules @@ -1027,7 +1105,7 @@ if [ $1 -eq 1 ]; then Thanks for using Angie! Please find the official documentation for Angie here: -* https://angie.software/en/ +* https://en.angie.software/angie/docs/ ---------------------------------------------------------------------- EOM @@ -1445,6 +1523,37 @@ and reload angie: Please refer to the modules documentation for further details: https://github.com/openresty/headers-more-nginx-module/ +---------------------------------------------------------------------- +BANNER +fi +%package module-http-auth-radius +Summary: Angie http-auth-radius dynamic module +Requires: angie = %{version}-%{release} + +%description module-http-auth-radius +Module adds support of authentication against RADIUS servers for Angie. + +%files module-http-auth-radius +%{_libdir}/angie/modules/ngx_http_auth_radius_module.so +%{_libdir}/angie/modules/ngx_http_auth_radius_module-debug.so + +%doc module-http-auth-radius/README +%license module-http-auth-radius/LICENSE + +%post module-http-auth-radius +if [ $1 -eq 1 ]; then + cat < - angie-1.8.1-2 +- Updated angie-module-auth-spnego to v1.1.2 +- Updated angie-module-headers-more to v0.38 +- Updated angie-module-lua to 0.10.28 +- Updated angie-module-njs to 0.8.9 +- Updated angie-module-vts to v0.2.3 +- Updated angie-module-wasm to v0.2-beta2 + * Tue Feb 11 2025 Eduard Basov - 1.8.1-1 - Rebuilt for MSVSphere 10 +* Sat Dec 28 2024 Release Engineering Team - angie-1.8.1-1 +- Release 1.8.1 +- Updated angie-module-auth-jwt to 0.9.0 + +* Thu Dec 19 2024 Release Engineering Team - angie-1.8.0-1 +- Release 1.8.0 +- Added angie-module-http-auth-radius +- Updated angie-module-auth-jwt to 0.8.0 +- Updated angie-module-jwt to v3.4.2 +- Updated angie-module-njs to 0.8.8 +- Updated angie-module-opentracing to v0.38.0 +- Updated angie-module-wasm to v0.1-beta5 + +* Thu Sep 19 2024 Release Engineering Team - angie-1.7.0-1 +- Release 1.7.0 +- Updated angie-module-opentracing to 0.36.0 +- Updated angie-module-lua to 0.10.27 + * Sat Aug 31 2024 Arkady L. Shane - 1.6.2-1 - Rebuilt for MSVSphere 9.4