te) = 18713 > +SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d > +SIZE (rust/crates/siphasher-1.0.1.crate) = 10351 > +SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589 > +SIZE (rust/crates/slab-0.4.11.crate) = 18549 > +SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03 > +SIZE (rust/crates/smallvec-1.15.1.crate) = 38116 > +SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6 > +SIZE (rust/crates/syn-2.0.106.crate) = 301514 > +SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8 > +SIZE (rust/crates/thiserror-2.0.17.crate) = 28857 > +SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913 > +SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344 > +SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038 > +SIZE (rust/crates/tokio-1.47.1.crate) = 829790 > +SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b > +SIZE (rust/crates/try-lock-0.2.5.crate) = 4314 > +SHA256 (rust/crates/unicode-ident-1.0.19.crate) = f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d > +SIZE (rust/crates/unicode-ident-1.0.19.crate) = 47480 > +SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af > +SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615 > +SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 > +SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735 > +SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e > +SIZE (rust/crates/want-0.3.1.crate) = 6398 > +SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b > +SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477 > +SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7 > +SIZE (rust/crates/which-4.4.2.crate) = 15953 > +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 > +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 > +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 > +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 > +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f > +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 > +SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5 > +SIZE (rust/crates/windows-link-0.2.1.crate) = 6133 > +SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b > +SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 > +SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc > +SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186 > +SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 > +SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 > +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 > +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 > +SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 > +SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 > +SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b > +SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 > +SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 > +SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 > +SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 > +SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 > +SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 > +SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 > +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d > +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 > +SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec > +SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 > +SHA256 (rust/crates/yansi-term-0.1.2.crate) = fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1 > +SIZE (rust/crates/yansi-term-0.1.2.crate) = 14342 > +SHA256 (rust/crates/zeroize-1.8.2.crate) = b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0 > +SIZE (rust/crates/zeroize-1.8.2.crate) = 20907 > diff --git a/www/freenginx-acme/files/patch-build.rs b/www/freenginx-acme/files/patch-build.rs > new file mode 100644 > index 000000000000..c45057b059a1 > --- /dev/null > +++ b/www/freenginx-acme/files/patch-build.rs > @@ -0,0 +1,37 @@ > +--- build.rs.orig 2025-10-08 22:59:16 UTC > ++++ build.rs > +@@ -50,6 +50,11 @@ fn detect_nginx_features() { > + if let Ok(os) = env::var("DEP_NGINX_OS") { > + println!("cargo::rustc-cfg=ngx_os=\"{os}\""); > + } > ++ // Read nginx name detected by nginx-sys and pass to the compiler. > ++ println!("cargo::rerun-if-env-changed=DEP_NGINX_NAME"); > ++ if let Ok(ngx_name) = env::var("DEP_NGINX_NAME") { > ++ println!("cargo::rustc-cfg=ngx_name=\"{ngx_name}\""); > ++ } > + > + // Generate cfg values for version checks > + > +@@ -58,13 +63,16 @@ fn detect_nginx_features() { > + println!("cargo::rerun-if-env-changed=DEP_NGINX_VERSION_NUMBER"); > + if let Ok(version) = env::var("DEP_NGINX_VERSION_NUMBER") { > + let version: u64 = version.parse().unwrap(); > ++ let ngx_name: String = env::var("DEP_NGINX_NAME").unwrap_or("any()".to_string()); > + > +- if version >= 1_027_002 { > +- println!("cargo::rustc-cfg=ngx_ssl_cache"); > +- } > +- > +- if version >= 1_029_002 { > +- println!("cargo::rustc-cfg=ngx_ssl_client_hello_cb"); > ++ if ngx_name != "freenginx" { > ++ if version >= 1_027_002 { > ++ println!("cargo::rustc-cfg=ngx_ssl_cache"); > ++ } > ++ > ++ if version >= 1_029_002 { > ++ println!("cargo::rustc-cfg=ngx_ssl_client_hello_cb"); > ++ } > + } > + } > + } > diff --git a/www/freenginx-acme/files/patch-cargo-crates_nginx-sys-0.5.0_build_main.rs b/www/freenginx-acme/files/patch-cargo-crates_nginx-sys-0.5.0_build_main.rs > new file mode 100644 > index 000000000000..079db70f01b4 > --- /dev/null > +++ b/www/freenginx-acme/files/patch-cargo-crates_nginx-sys-0.5.0_build_main.rs > @@ -0,0 +1,19 @@ > +--- cargo-crates/nginx-sys-0.5.0/build/main.rs.orig 2006-07-24 01:21:28 UTC > ++++ cargo-crates/nginx-sys-0.5.0/build/main.rs > +@@ -364,6 +364,8 @@ pub fn print_cargo_metadata>( > + > + if name == "nginx_build" { > + println!("cargo::metadata=build={}", unquote(value)); > ++ } else if name == "nginx_name" { > ++ println!("cargo::metadata=name={}", unquote(value)); > + } else if name == "nginx_version" { > + println!("cargo::metadata=version={}", unquote(value)); > + } else if name == "nginx_version_number" { > +@@ -453,6 +455,7 @@ RUST_CONF_NGINX_BUILD=NGINX_VER_BUILD > + #endif > + > + RUST_CONF_NGINX_BUILD=NGINX_VER_BUILD > ++RUST_CONF_NGINX_NAME=NGINX_NAME > + RUST_CONF_NGINX_VERSION=NGINX_VER > + RUST_CONF_NGINX_VERSION_NUMBER=nginx_version > + " > diff --git a/www/freenginx-acme/pkg-descr b/www/freenginx-acme/pkg-descr > new file mode 100644 > index 000000000000..28655bae33ab > --- /dev/null > +++ b/www/freenginx-acme/pkg-descr > @@ -0,0 +1,2 @@ > +ACME shared library for the NGINX OSS server. > +This library is the requirement for ACME support. > >