diff --git a/proxmox-acme-api/Cargo.toml b/proxmox-acme-api/Cargo.toml index 13ace495..d00d8ab7 100644 --- a/proxmox-acme-api/Cargo.toml +++ b/proxmox-acme-api/Cargo.toml @@ -7,6 +7,7 @@ license.workspace = true repository.workspace = true exclude.workspace = true description = "ACME API implementation" +rust-version.workspace = true [dependencies] anyhow.workspace = true @@ -15,7 +16,6 @@ futures = { workspace = true, optional = true } hex = { workspace = true, optional = true } http = { workspace = true, optional = true } hyper = { workspace = true, optional = true } -lazy_static = { workspace = true, optional = true } log = { workspace = true, optional = true } nix = { workspace = true, optional = true } serde = { workspace = true, features = ["derive"] } @@ -48,7 +48,6 @@ impl = [ "dep:hex", "dep:http", "dep:hyper", - "dep:lazy_static", "dep:libc", "dep:log", "dep:nix", diff --git a/proxmox-acme-api/src/challenge_schemas.rs b/proxmox-acme-api/src/challenge_schemas.rs index 6e1217c8..40a6a6af 100644 --- a/proxmox-acme-api/src/challenge_schemas.rs +++ b/proxmox-acme-api/src/challenge_schemas.rs @@ -2,12 +2,10 @@ //! //! Those schemas are provided by debian package "libproxmox-acme-plugins". -use std::sync::Arc; -use std::sync::Mutex; +use std::sync::{Arc, LazyLock, Mutex}; use std::time::SystemTime; use anyhow::Error; -use lazy_static::lazy_static; use serde::Serialize; use serde_json::Value; @@ -51,10 +49,8 @@ fn load_dns_challenge_schema() -> Result, Error> { } pub fn get_cached_challenge_schemas() -> Result { - lazy_static! { - static ref CACHE: Mutex>, SystemTime)>> = - Mutex::new(None); - } + static CACHE: LazyLock>, SystemTime)>>> = + LazyLock::new(|| Mutex::new(None)); // the actual loading code let mut last = CACHE.lock().unwrap(); diff --git a/proxmox-acme-api/src/plugin_config.rs b/proxmox-acme-api/src/plugin_config.rs index d75bea59..b7ed7594 100644 --- a/proxmox-acme-api/src/plugin_config.rs +++ b/proxmox-acme-api/src/plugin_config.rs @@ -1,7 +1,8 @@ //! ACME plugin configuration helpers (SectionConfig implementation) +use std::sync::LazyLock; + use anyhow::Error; -use lazy_static::lazy_static; use serde_json::Value; use proxmox_config_digest::ConfigDigest; @@ -11,9 +12,7 @@ use proxmox_section_config::{SectionConfig, SectionConfigData, SectionConfigPlug use crate::types::{DnsPlugin, StandalonePlugin, PLUGIN_ID_SCHEMA}; -lazy_static! { - static ref CONFIG: SectionConfig = init(); -} +static CONFIG: LazyLock = LazyLock::new(init); impl DnsPlugin { pub fn decode_data(&self, output: &mut Vec) -> Result<(), Error> {