mirror of
https://github.com/containers/youki
synced 2024-09-23 20:42:15 +02:00
fix query_caps
Signed-off-by: Darrell Tang <darrelltang@gmail.com>
This commit is contained in:
parent
cf4145b5ee
commit
707141abc6
@ -1,6 +1,6 @@
|
||||
//! Contains Functionality of `features` container command
|
||||
use anyhow::{Context, Result};
|
||||
use caps::{CapSet, Capability};
|
||||
use caps::{all, CapSet, Capability};
|
||||
use liboci_cli::Features;
|
||||
use procfs::process::Process;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@ -69,13 +69,16 @@ struct Cgroup {
|
||||
|
||||
// Function to query and return capabilities
|
||||
fn query_caps() -> Result<Vec<String>> {
|
||||
let mut capabilities = Vec::new();
|
||||
for cap in Capability::iter_variants() {
|
||||
if caps::has_cap(None, CapSet::Effective, cap).context("Failed to check capability")? {
|
||||
capabilities.push(format!("{:?}", cap));
|
||||
let mut available_caps = Vec::new();
|
||||
|
||||
for cap in all() {
|
||||
// Check if the capability is in the permitted set
|
||||
if caps::has_cap(None, CapSet::Permitted, cap).unwrap_or(false) {
|
||||
available_caps.push(format!("{:?}", cap));
|
||||
}
|
||||
}
|
||||
Ok(capabilities)
|
||||
|
||||
Ok(available_caps)
|
||||
}
|
||||
|
||||
// Function to query and return namespaces
|
||||
@ -111,6 +114,7 @@ pub fn features(_: Features) -> Result<()> {
|
||||
eprintln!("Error querying available capabilities: {}", e);
|
||||
}
|
||||
};
|
||||
|
||||
let features = HardFeatures {
|
||||
ociVersionMin: Some(String::from("1.0.0")),
|
||||
ociVersionMax: Some(String::from("1.0.2-dev")),
|
||||
|
Loading…
Reference in New Issue
Block a user