update to proxmox-sys 0.2 crate

- imported pbs-api-types/src/common_regex.rs from old proxmox crate
- use hex crate to generate/parse hex digest
- remove all reference to proxmox crate (use proxmox-sys and
  proxmox-serde instead)

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
This commit is contained in:
Dietmar Maurer
2021-11-23 17:57:00 +01:00
parent bd00ff10e4
commit 25877d05ac
201 changed files with 627 additions and 1535 deletions

View File

@ -1,6 +1,6 @@
use proxmox_router::{Router, SubdirMap};
use proxmox_router::list_subdirs_api_method;
use proxmox::{identity, sortable};
use proxmox_sys::{identity, sortable};
pub mod tfa;
pub mod openid;

View File

@ -3,6 +3,7 @@
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -37,7 +38,7 @@ pub fn list_openid_realms(
let list = config.convert_to_typed_array("openid")?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -106,7 +107,7 @@ pub fn delete_openid_realm(
let (mut domains, expected_digest) = domains::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -142,7 +143,7 @@ pub fn read_openid_realm(
let config = domains.lookup("openid", &realm)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(config)
}
@ -211,7 +212,7 @@ pub fn update_openid_realm(
let (mut domains, expected_digest) = domains::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -2,6 +2,7 @@
//! If we add more, it should be moved into a sub module.
use anyhow::Error;
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission, SubdirMap};
use proxmox_schema::api;
@ -42,7 +43,7 @@ pub fn get_webauthn_config(
Some(c) => c,
None => return Ok(None),
};
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(Some(config))
}
@ -72,7 +73,7 @@ pub fn update_webauthn_config(
if let Some(wa) = &mut tfa.webauthn {
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(
&digest,
&crate::config::tfa::webauthn_config_digest(&wa)?,

View File

@ -8,6 +8,7 @@ use anyhow::{bail, format_err, Error};
use lazy_static::lazy_static;
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use hex::FromHex;
use proxmox_router::{
http_bail, list_subdirs_api_method, Permission, Router, RpcEnvironment, SubdirMap,
@ -520,7 +521,7 @@ fn modify_cfg_for_api(id: &str, ty: &str, data: &Value) -> PluginConfig {
/// List ACME challenge plugins.
pub fn list_plugins(mut rpcenv: &mut dyn RpcEnvironment) -> Result<Vec<PluginConfig>, Error> {
let (plugins, digest) = plugin::config()?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(plugins
.iter()
.map(|(id, (ty, data))| modify_cfg_for_api(&id, &ty, data))
@ -542,7 +543,7 @@ pub fn list_plugins(mut rpcenv: &mut dyn RpcEnvironment) -> Result<Vec<PluginCon
/// List ACME challenge plugins.
pub fn get_plugin(id: String, mut rpcenv: &mut dyn RpcEnvironment) -> Result<PluginConfig, Error> {
let (plugins, digest) = plugin::config()?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
match plugins.get(&id) {
Some((ty, data)) => Ok(modify_cfg_for_api(&id, &ty, &data)),
@ -695,7 +696,7 @@ pub fn update_plugin(
let (mut plugins, expected_digest) = plugin::config()?;
if let Some(digest) = digest {
let digest = proxmox::tools::hex_to_digest(&digest)?;
let digest = <[u8; 32]>::from_hex(&digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use ::serde::{Deserialize, Serialize};
use serde_json::Value;
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::{api, parse_property_string};
@ -83,7 +84,7 @@ pub fn get_config(
let data: ScsiTapeChanger = config.lookup("changer", &name)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(data)
}
@ -124,7 +125,7 @@ pub fn list_changers(
})
.collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -181,7 +182,7 @@ pub fn update_changer(
let (mut config, expected_digest) = pbs_config::drive::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -3,11 +3,12 @@ use std::path::PathBuf;
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, RpcEnvironmentType, Permission};
use proxmox_schema::{api, ApiType, parse_property_string};
use proxmox_section_config::SectionConfigData;
use proxmox_sys::worker_task_context::WorkerTaskContext;
use proxmox_sys::WorkerTaskContext;
use pbs_datastore::chunk_store::ChunkStore;
use pbs_config::BackupLockGuard;
@ -55,7 +56,7 @@ pub fn list_datastores(
let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
let user_info = CachedUserInfo::new()?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
let list:Vec<DataStoreConfig> = config.convert_to_typed_array("datastore")?;
let filter_by_privs = |store: &DataStoreConfig| {
@ -148,7 +149,7 @@ pub fn read_datastore(
let (config, digest) = pbs_config::datastore::config()?;
let store_config = config.lookup("datastore", &name)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(store_config)
}
@ -228,7 +229,7 @@ pub fn update_datastore(
let (mut config, expected_digest) = pbs_config::datastore::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -347,7 +348,7 @@ pub async fn delete_datastore(
let (mut config, expected_digest) = pbs_config::datastore::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use ::serde::{Deserialize, Serialize};
use serde_json::Value;
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -82,7 +83,7 @@ pub fn get_config(
let data: LtoTapeDrive = config.lookup("lto", &name)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(data)
}
@ -123,7 +124,7 @@ pub fn list_drives(
})
.collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(drive_list)
}
@ -183,7 +184,7 @@ pub fn update_drive(
let (mut config, expected_digest) = pbs_config::drive::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -77,7 +77,7 @@ pub fn list_pools(
})
.collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}

View File

@ -1,9 +1,10 @@
use anyhow::{bail, format_err, Error};
use proxmox::sortable;
use proxmox_sys::sortable;
use proxmox_router::SubdirMap;
use proxmox_router::list_subdirs_api_method;
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{http_err, ApiMethod, Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -57,7 +58,7 @@ pub fn list_remotes(
})
.collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -128,7 +129,7 @@ pub fn read_remote(
let (config, digest) = pbs_config::remote::config()?;
let mut data: Remote = config.lookup("remote", &name)?;
data.password = "".to_string(); // do not return password in api
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(data)
}
@ -193,7 +194,7 @@ pub fn update_remote(
let (mut config, expected_digest) = pbs_config::remote::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -265,7 +266,7 @@ pub fn delete_remote(name: String, digest: Option<String>) -> Result<(), Error>
let (mut config, expected_digest) = pbs_config::remote::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -91,7 +92,7 @@ pub fn list_sync_jobs(
let list = config.convert_to_typed_array("sync")?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
let list = list
.into_iter()
@ -173,7 +174,7 @@ pub fn read_sync_job(
bail!("permission check failed");
}
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(sync_job)
}
@ -251,7 +252,7 @@ pub fn update_sync_job(
let (mut config, expected_digest) = sync::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -355,7 +356,7 @@ pub fn delete_sync_job(
let (mut config, expected_digest) = sync::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -47,7 +48,7 @@ pub fn list_tape_backup_jobs(
})
.collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -111,7 +112,7 @@ pub fn read_tape_backup_job(
let job = config.lookup("backup", &id)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(job)
}
@ -180,7 +181,7 @@ pub fn update_tape_backup_job(
let mut data: TapeBackupJobConfig = config.lookup("backup", &id)?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -259,7 +260,7 @@ pub fn delete_tape_backup_job(
let (mut config, expected_digest) = pbs_config::tape_job::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,5 +1,6 @@
use anyhow::{bail, Error};
use serde_json::Value;
use hex::FromHex;
use proxmox_router::{ApiMethod, Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -50,7 +51,7 @@ pub fn list_keys(
list.push(item.into());
}
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -109,7 +110,7 @@ pub fn change_passphrase(
let (mut config_map, expected_digest) = load_key_configs()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -245,7 +246,7 @@ pub fn delete_key(
let (mut key_map, _) = load_keys()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{ApiMethod, Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -34,7 +35,7 @@ pub fn list_traffic_controls(
let list: Vec<TrafficControlRule> = config.convert_to_typed_array("rule")?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -92,7 +93,7 @@ pub fn read_traffic_control(
) -> Result<TrafficControlRule, Error> {
let (config, digest) = pbs_config::traffic_control::config()?;
let data: TrafficControlRule = config.lookup("rule", &name)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(data)
}
@ -159,7 +160,7 @@ pub fn update_traffic_control(
let (mut config, expected_digest) = pbs_config::traffic_control::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -238,7 +239,7 @@ pub fn delete_traffic_control(name: String, digest: Option<String>) -> Result<()
let (mut config, expected_digest) = pbs_config::traffic_control::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}

View File

@ -1,6 +1,7 @@
use anyhow::{bail, Error};
use serde_json::Value;
use ::serde::{Deserialize, Serialize};
use hex::FromHex;
use proxmox_router::{Router, RpcEnvironment, Permission};
use proxmox_schema::api;
@ -48,7 +49,7 @@ pub fn list_verification_jobs(
privs & required_privs != 00
}).collect();
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(list)
}
@ -125,7 +126,7 @@ pub fn read_verification_job(
let required_privs = PRIV_DATASTORE_AUDIT | PRIV_DATASTORE_VERIFY;
user_info.check_privs(&auth_id, &["datastore", &verification_job.store], required_privs, true)?;
rpcenv["digest"] = proxmox::tools::digest_to_hex(&digest).into();
rpcenv["digest"] = hex::encode(&digest).into();
Ok(verification_job)
}
@ -193,7 +194,7 @@ pub fn update_verification_job(
let (mut config, expected_digest) = verify::config()?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}
@ -280,7 +281,7 @@ pub fn delete_verification_job(
user_info.check_privs(&auth_id, &["datastore", &job.store], PRIV_DATASTORE_VERIFY, true)?;
if let Some(ref digest) = digest {
let digest = proxmox::tools::hex_to_digest(digest)?;
let digest = <[u8; 32]>::from_hex(digest)?;
crate::tools::detect_modified_configuration_file(&digest, &expected_digest)?;
}