From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ronja.mits.lan by ronja.mits.lan with LMTP id CGgOBP2qcmZ4MQAAxxbTJA (envelope-from ); Wed, 19 Jun 2024 11:55:09 +0200 Received: from proxmox-new.maurer-it.com (unknown [192.168.2.33]) by ronja.mits.lan (Postfix) with ESMTPS id ED9E9F645F1; Wed, 19 Jun 2024 11:55:08 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id D497647C6B; Wed, 19 Jun 2024 11:55:08 +0200 (CEST) Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by proxmox-new.maurer-it.com (Proxmox) with ESMTPS; Wed, 19 Jun 2024 11:55:08 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id C533118C6; Wed, 19 Jun 2024 11:55:07 +0200 (CEST) From: Shannon Sterz To: pbs-devel@lists.proxmox.com Date: Wed, 19 Jun 2024 11:54:18 +0200 Message-Id: <20240619095418.126368-8-s.sterz@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240619095418.126368-1-s.sterz@proxmox.com> References: <20240619095418.126368-1-s.sterz@proxmox.com> MIME-Version: 1.0 Subject: [pbs-devel] [PATCH proxmox v3 7/7] access-control: split crate in `default` and `impl` features X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" X-SPAM-LEVEL: Spam detection results: 0 DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods MAILING_LIST_MULTI -2 Multiple indicators imply a widely-seen list manager RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record T_SCC_BODY_TEXT_LINE -0.01 - this way the types defined in this crate can be re-used in places without necessarily having to use the ACL, token shadow and (cached) user config implementations. Signed-off-by: Shannon Sterz --- proxmox-access-control/Cargo.toml | 32 +++++++++++++++++++++---------- proxmox-access-control/src/lib.rs | 12 +++++++++++- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/proxmox-access-control/Cargo.toml b/proxmox-access-control/Cargo.toml index 239dcc91..8f50a074 100644 --- a/proxmox-access-control/Cargo.toml +++ b/proxmox-access-control/Cargo.toml @@ -14,17 +14,29 @@ description = "A collection of utilities to implement access control management. [dependencies] anyhow.workspace = true -nix.workspace = true -openssl.workspace = true +nix = { workspace = true, optional = true } +openssl = { workspace = true, optional = true } serde.workspace = true -serde_json.workspace = true +serde_json = { workspace = true, optional = true } -# proxmox-notify.workspace = true proxmox-auth-api = { workspace = true, features = [ "api-types" ] } -proxmox-router = { workspace = true } +proxmox-router = { workspace = true, optional = true } proxmox-schema.workspace = true -proxmox-section-config.workspace = true -proxmox-product-config.workspace = true -proxmox-shared-memory.workspace = true -proxmox-sys = { workspace = true, features = [ "crypt" ] } -proxmox-time.workspace = true +proxmox-section-config = { workspace = true, optional = true } +proxmox-product-config = { workspace = true, optional = true } +proxmox-shared-memory = { workspace = true, optional = true } +proxmox-sys = { workspace = true, features = [ "crypt" ], optional = true } +proxmox-time = { workspace = true } + +[features] +default = [] +impl = [ + "dep:nix", + "dep:openssl", + "dep:proxmox-product-config", + "dep:proxmox-router", + "dep:proxmox-section-config", + "dep:proxmox-shared-memory", + "dep:proxmox-sys", + "dep:serde_json", +] diff --git a/proxmox-access-control/src/lib.rs b/proxmox-access-control/src/lib.rs index 16132072..7fabcfb5 100644 --- a/proxmox-access-control/src/lib.rs +++ b/proxmox-access-control/src/lib.rs @@ -1,8 +1,18 @@ +pub mod types; + +#[cfg(feature = "impl")] pub mod acl; + +#[cfg(feature = "impl")] pub mod init; + +#[cfg(feature = "impl")] pub mod token_shadow; -pub mod types; + +#[cfg(feature = "impl")] pub mod user; +#[cfg(feature = "impl")] mod cached_user_info; +#[cfg(feature = "impl")] pub use cached_user_info::CachedUserInfo; -- 2.39.2 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel