diff --git a/Cargo.toml b/Cargo.toml index 284777f2d..b52e5c53a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,11 @@ build = "build.rs" exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"] +[workspace] +members = [ + "pbs-buildcfg", +] + [lib] name = "proxmox_backup" path = "src/lib.rs" @@ -86,6 +91,8 @@ proxmox-http = { version = "0.2.1", features = [ "client", "http-helpers", "webs #proxmox-http = { version = "0.2.0", path = "../proxmox/proxmox-http", features = [ "client", "http-helpers", "websocket" ] } proxmox-openid = "0.6.0" +pbs-buildcfg = { path = "pbs-buildcfg" } + [features] default = [] #valgrind = ["valgrind_request"] diff --git a/pbs-buildcfg/Cargo.toml b/pbs-buildcfg/Cargo.toml new file mode 100644 index 000000000..e3c5d20e6 --- /dev/null +++ b/pbs-buildcfg/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "pbs-buildcfg" +version = "0.1.0" +authors = ["Proxmox Support Team "] +edition = "2018" +description = "macros used for pbs related paths such as configdir and rundir" + +[dependencies] diff --git a/src/buildcfg.rs b/pbs-buildcfg/src/lib.rs similarity index 97% rename from src/buildcfg.rs rename to pbs-buildcfg/src/lib.rs index c70ab6eab..c1cd05b36 100644 --- a/src/buildcfg.rs +++ b/pbs-buildcfg/src/lib.rs @@ -70,6 +70,6 @@ macro_rules! configdir { #[macro_export] macro_rules! rundir { ($subdir:expr) => { - concat!(PROXMOX_BACKUP_RUN_DIR_M!(), $subdir) + concat!($crate::PROXMOX_BACKUP_RUN_DIR_M!(), $subdir) }; } diff --git a/src/api2/node/certificates.rs b/src/api2/node/certificates.rs index 79df5d0f9..34842673e 100644 --- a/src/api2/node/certificates.rs +++ b/src/api2/node/certificates.rs @@ -11,6 +11,8 @@ use proxmox::api::router::SubdirMap; use proxmox::api::{api, Permission, Router, RpcEnvironment}; use proxmox::list_subdirs_api_method; +use pbs_buildcfg::configdir; + use crate::acme::AcmeClient; use crate::api2::types::Authid; use crate::api2::types::NODE_SCHEMA; diff --git a/src/auth.rs b/src/auth.rs index 3272dd6d5..4845601a1 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -9,6 +9,8 @@ use std::ffi::{CString, CStr}; use anyhow::{bail, format_err, Error}; use serde_json::json; +use pbs_buildcfg::configdir; + use crate::api2::types::{Userid, UsernameRef, RealmRef}; pub trait ProxmoxAuthenticator { diff --git a/src/auth_helpers.rs b/src/auth_helpers.rs index fca9015e0..33d142b30 100644 --- a/src/auth_helpers.rs +++ b/src/auth_helpers.rs @@ -10,6 +10,8 @@ use std::path::PathBuf; use proxmox::tools::fs::{file_get_contents, replace_file, CreateOptions}; use proxmox::try_block; +use pbs_buildcfg::configdir; + use crate::api2::types::Userid; fn compute_csrf_secret_digest( diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs index f50a04a51..625b7232d 100644 --- a/src/bin/proxmox-backup-api.rs +++ b/src/bin/proxmox-backup-api.rs @@ -14,7 +14,6 @@ use proxmox_backup::server::{ use proxmox_backup::tools::daemon; use proxmox_backup::auth_helpers::*; use proxmox_backup::config; -use proxmox_backup::buildcfg; fn main() { proxmox_backup::tools::setup_safe_path_env(); @@ -58,7 +57,7 @@ async fn run() -> Result<(), Error> { let _ = csrf_secret(); // load with lazy_static let mut config = server::ApiConfig::new( - buildcfg::JS_DIR, + pbs_buildcfg::JS_DIR, &proxmox_backup::api2::ROUTER, RpcEnvironmentType::PRIVILEGED, default_api_auth(), @@ -66,7 +65,7 @@ async fn run() -> Result<(), Error> { let mut commando_sock = server::CommandoSocket::new(server::our_ctrl_sock()); - config.enable_file_log(buildcfg::API_ACCESS_LOG_FN, &mut commando_sock)?; + config.enable_file_log(pbs_buildcfg::API_ACCESS_LOG_FN, &mut commando_sock)?; let rest_server = RestServer::new(config); @@ -91,7 +90,7 @@ async fn run() -> Result<(), Error> { "proxmox-backup.service", ); - server::write_pid(buildcfg::PROXMOX_BACKUP_API_PID_FN)?; + server::write_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?; daemon::systemd_notify(daemon::SystemdNotify::Ready)?; let init_result: Result<(), Error> = try_block!({ diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index d6194bc92..728c0da55 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -32,10 +32,9 @@ use proxmox_backup::{ }, }; +use pbs_buildcfg::configdir; use proxmox_backup::api2::types::Authid; -use proxmox_backup::configdir; -use proxmox_backup::buildcfg; use proxmox_backup::server; use proxmox_backup::auth_helpers::*; use proxmox_backup::tools::{ @@ -85,7 +84,7 @@ async fn run() -> Result<(), Error> { let _ = csrf_secret(); // load with lazy_static let mut config = ApiConfig::new( - buildcfg::JS_DIR, + pbs_buildcfg::JS_DIR, &proxmox_backup::api2::ROUTER, RpcEnvironmentType::PUBLIC, default_api_auth(), @@ -100,14 +99,14 @@ async fn run() -> Result<(), Error> { config.add_alias("widgettoolkit", "/usr/share/javascript/proxmox-widget-toolkit"); config.add_alias("docs", "/usr/share/doc/proxmox-backup/html"); - let mut indexpath = PathBuf::from(buildcfg::JS_DIR); + let mut indexpath = PathBuf::from(pbs_buildcfg::JS_DIR); indexpath.push("index.hbs"); config.register_template("index", &indexpath)?; config.register_template("console", "/usr/share/pve-xtermjs/index.html.hbs")?; let mut commando_sock = server::CommandoSocket::new(server::our_ctrl_sock()); - config.enable_file_log(buildcfg::API_ACCESS_LOG_FN, &mut commando_sock)?; + config.enable_file_log(pbs_buildcfg::API_ACCESS_LOG_FN, &mut commando_sock)?; let rest_server = RestServer::new(config); @@ -167,7 +166,7 @@ async fn run() -> Result<(), Error> { "proxmox-backup-proxy.service", ); - server::write_pid(buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; + server::write_pid(pbs_buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; daemon::systemd_notify(daemon::SystemdNotify::Ready)?; let init_result: Result<(), Error> = try_block!({ @@ -696,7 +695,7 @@ async fn schedule_task_log_rotate() { let max_size = 32 * 1024 * 1024 - 1; let max_files = 14; - let mut logrotate = LogRotate::new(buildcfg::API_ACCESS_LOG_FN, true) + let mut logrotate = LogRotate::new(pbs_buildcfg::API_ACCESS_LOG_FN, true) .ok_or_else(|| format_err!("could not get API access log file names"))?; if logrotate.rotate(max_size, None, Some(max_files))? { @@ -707,7 +706,7 @@ async fn schedule_task_log_rotate() { worker.log("API access log was not rotated".to_string()); } - let mut logrotate = LogRotate::new(buildcfg::API_AUTH_LOG_FN, true) + let mut logrotate = LogRotate::new(pbs_buildcfg::API_AUTH_LOG_FN, true) .ok_or_else(|| format_err!("could not get API auth log file names"))?; if logrotate.rotate(max_size, None, Some(max_files))? { @@ -739,7 +738,7 @@ async fn command_reopen_logfiles() -> Result<(), Error> { let sock = server::our_ctrl_sock(); let f1 = server::send_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); - let pid = server::read_pid(buildcfg::PROXMOX_BACKUP_API_PID_FN)?; + let pid = server::read_pid(pbs_buildcfg::PROXMOX_BACKUP_API_PID_FN)?; let sock = server::ctrl_sock_from_pid(pid); let f2 = server::send_command(sock, "{\"command\":\"api-access-log-reopen\"}\n"); diff --git a/src/bin/proxmox_client_tools/mod.rs b/src/bin/proxmox_client_tools/mod.rs index 1cdcf0df2..24d9fa630 100644 --- a/src/bin/proxmox_client_tools/mod.rs +++ b/src/bin/proxmox_client_tools/mod.rs @@ -10,10 +10,11 @@ use proxmox::{ tools::fs::file_get_json, }; +use pbs_buildcfg; + use proxmox_backup::api2::access::user::UserWithTokens; use proxmox_backup::api2::types::*; use proxmox_backup::backup::BackupDir; -use proxmox_backup::buildcfg; use proxmox_backup::client::*; use proxmox_backup::tools; @@ -379,7 +380,7 @@ pub fn place_xdg_file( /// "www-data", so we use a custom one in /run/proxmox-backup/ instead. pub fn get_user_run_dir() -> Result { let uid = nix::unistd::Uid::current(); - let mut path: std::path::PathBuf = buildcfg::PROXMOX_BACKUP_RUN_DIR.into(); + let mut path: std::path::PathBuf = pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR.into(); path.push(uid.to_string()); tools::create_run_dir()?; std::fs::create_dir_all(&path)?; diff --git a/src/bin/proxmox_file_restore/qemu_helper.rs b/src/bin/proxmox_file_restore/qemu_helper.rs index 64d8e9093..8ab372a12 100644 --- a/src/bin/proxmox_file_restore/qemu_helper.rs +++ b/src/bin/proxmox_file_restore/qemu_helper.rs @@ -18,7 +18,7 @@ use proxmox::tools::{ use proxmox_backup::backup::backup_user; use proxmox_backup::client::{VsockClient, DEFAULT_VSOCK_PORT}; -use proxmox_backup::{buildcfg, tools}; +use proxmox_backup::tools; use super::SnapRestoreDetails; @@ -26,7 +26,7 @@ const PBS_VM_NAME: &str = "pbs-restore-vm"; const MAX_CID_TRIES: u64 = 32; fn create_restore_log_dir() -> Result { - let logpath = format!("{}/file-restore", buildcfg::PROXMOX_BACKUP_LOG_DIR); + let logpath = format!("{}/file-restore", pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR); proxmox::try_block!({ let backup_user = backup_user()?; @@ -38,7 +38,7 @@ fn create_restore_log_dir() -> Result { .owner(nix::unistd::ROOT) .group(nix::unistd::Gid::from_raw(0)); - create_path(buildcfg::PROXMOX_BACKUP_LOG_DIR, None, Some(opts))?; + create_path(pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR, None, Some(opts))?; create_path(&logpath, None, Some(opts_root))?; Ok(()) }) @@ -48,11 +48,11 @@ fn create_restore_log_dir() -> Result { } fn validate_img_existance(debug: bool) -> Result<(), Error> { - let kernel = PathBuf::from(buildcfg::PROXMOX_BACKUP_KERNEL_FN); + let kernel = PathBuf::from(pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN); let initramfs = PathBuf::from(if debug { - buildcfg::PROXMOX_BACKUP_INITRAMFS_DBG_FN + pbs_buildcfg::PROXMOX_BACKUP_INITRAMFS_DBG_FN } else { - buildcfg::PROXMOX_BACKUP_INITRAMFS_FN + pbs_buildcfg::PROXMOX_BACKUP_INITRAMFS_FN }); if !kernel.exists() || !initramfs.exists() { bail!("cannot run file-restore VM: package 'proxmox-backup-restore-image' is not (correctly) installed"); @@ -93,9 +93,9 @@ async fn create_temp_initramfs(ticket: &str, debug: bool) -> Result<(Fd, String) tools::fd_change_cloexec(tmp_fd.0, false)?; let initramfs = if debug { - buildcfg::PROXMOX_BACKUP_INITRAMFS_DBG_FN + pbs_buildcfg::PROXMOX_BACKUP_INITRAMFS_DBG_FN } else { - buildcfg::PROXMOX_BACKUP_INITRAMFS_FN + pbs_buildcfg::PROXMOX_BACKUP_INITRAMFS_FN }; let mut f = File::from_std(unsafe { std::fs::File::from_raw_fd(tmp_fd.0) }); @@ -184,7 +184,7 @@ pub async fn start_vm( "none", "-enable-kvm", "-kernel", - buildcfg::PROXMOX_BACKUP_KERNEL_FN, + pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN, "-initrd", &ramfs_path, "-append", diff --git a/src/config.rs b/src/config.rs index 329315ecf..014d184f4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -13,7 +13,7 @@ use openssl::pkey::PKey; use proxmox::tools::fs::{CreateOptions, replace_file}; use proxmox::try_block; -use crate::buildcfg; +use pbs_buildcfg::{self, configdir}; pub mod acl; pub mod acme; @@ -39,7 +39,7 @@ pub mod domains; /// * owned by 'backup' user/group /// * nobody else can read (mode 0700) pub fn check_configdir_permissions() -> Result<(), Error> { - let cfgdir = buildcfg::CONFIGDIR; + let cfgdir = pbs_buildcfg::CONFIGDIR; let backup_user = crate::backup::backup_user()?; let backup_uid = backup_user.uid.as_raw(); @@ -71,7 +71,7 @@ pub fn check_configdir_permissions() -> Result<(), Error> { } pub fn create_configdir() -> Result<(), Error> { - let cfgdir = buildcfg::CONFIGDIR; + let cfgdir = pbs_buildcfg::CONFIGDIR; match nix::unistd::mkdir(cfgdir, Mode::from_bits_truncate(0o700)) { Ok(()) => {} diff --git a/src/config/acme/mod.rs b/src/config/acme/mod.rs index 142ed2df3..2534471aa 100644 --- a/src/config/acme/mod.rs +++ b/src/config/acme/mod.rs @@ -15,8 +15,8 @@ use crate::api2::types::{ }; use crate::tools::ControlFlow; -pub(crate) const ACME_DIR: &str = configdir!("/acme"); -pub(crate) const ACME_ACCOUNT_DIR: &str = configdir!("/acme/accounts"); +pub(crate) const ACME_DIR: &str = pbs_buildcfg::configdir!("/acme"); +pub(crate) const ACME_ACCOUNT_DIR: &str = pbs_buildcfg::configdir!("/acme/accounts"); pub(crate) const ACME_DNS_SCHEMA_FN: &str = "/usr/share/proxmox-acme/dns-challenge-schema.json"; diff --git a/src/config/acme/plugin.rs b/src/config/acme/plugin.rs index 2e22ab772..960aec3a0 100644 --- a/src/config/acme/plugin.rs +++ b/src/config/acme/plugin.rs @@ -140,8 +140,8 @@ fn init() -> SectionConfig { config } -const ACME_PLUGIN_CFG_FILENAME: &str = configdir!("/acme/plugins.cfg"); -const ACME_PLUGIN_CFG_LOCKFILE: &str = configdir!("/acme/.plugins.lck"); +const ACME_PLUGIN_CFG_FILENAME: &str = pbs_buildcfg::configdir!("/acme/plugins.cfg"); +const ACME_PLUGIN_CFG_LOCKFILE: &str = pbs_buildcfg::configdir!("/acme/.plugins.lck"); const LOCK_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10); pub fn lock() -> Result { diff --git a/src/config/node.rs b/src/config/node.rs index 2e4205cd0..27e32cd10 100644 --- a/src/config/node.rs +++ b/src/config/node.rs @@ -12,6 +12,8 @@ use proxmox::tools::fs::{replace_file, CreateOptions}; use proxmox_http::ProxyConfig; +use pbs_buildcfg::configdir; + use crate::acme::AcmeClient; use crate::api2::types::{ AcmeAccountName, AcmeDomain, ACME_DOMAIN_PROPERTY_SCHEMA, HTTP_PROXY_SCHEMA, diff --git a/src/config/tfa.rs b/src/config/tfa.rs index 6a991d1e4..341307db7 100644 --- a/src/config/tfa.rs +++ b/src/config/tfa.rs @@ -26,6 +26,8 @@ use proxmox::tools::tfa::u2f; use proxmox::tools::uuid::Uuid; use proxmox::tools::AsHex; +use pbs_buildcfg::configdir; + use crate::api2::types::Userid; /// Mapping of userid to TFA entry. @@ -35,7 +37,7 @@ const CONF_FILE: &str = configdir!("/tfa.json"); const LOCK_FILE: &str = configdir!("/tfa.json.lock"); const LOCK_TIMEOUT: Duration = Duration::from_secs(5); -const CHALLENGE_DATA_PATH: &str = rundir!("/tfa/challenges"); +const CHALLENGE_DATA_PATH: &str = pbs_buildcfg::rundir!("/tfa/challenges"); /// U2F registration challenges time out after 2 minutes. const CHALLENGE_TIMEOUT: i64 = 2 * 60; diff --git a/src/config/token_shadow.rs b/src/config/token_shadow.rs index 14acdbebd..9f8bb2e0a 100644 --- a/src/config/token_shadow.rs +++ b/src/config/token_shadow.rs @@ -10,8 +10,8 @@ use proxmox::tools::fs::{open_file_locked, CreateOptions}; use crate::api2::types::Authid; use crate::auth; -const LOCK_FILE: &str = configdir!("/token.shadow.lock"); -const CONF_FILE: &str = configdir!("/token.shadow"); +const LOCK_FILE: &str = pbs_buildcfg::configdir!("/token.shadow.lock"); +const CONF_FILE: &str = pbs_buildcfg::configdir!("/token.shadow"); const LOCK_TIMEOUT: Duration = Duration::from_secs(5); #[derive(Serialize, Deserialize)] diff --git a/src/lib.rs b/src/lib.rs index 1b1de527b..0af303a47 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,9 +5,6 @@ pub mod task; -#[macro_use] -pub mod buildcfg; - #[macro_use] pub mod tools; diff --git a/src/server.rs b/src/server.rs index c4a369677..b0191e0e9 100644 --- a/src/server.rs +++ b/src/server.rs @@ -11,7 +11,7 @@ use serde_json::Value; use proxmox::sys::linux::procfs::PidStat; -use crate::buildcfg; +use pbs_buildcfg; lazy_static! { static ref PID: i32 = unsafe { libc::getpid() }; @@ -39,7 +39,7 @@ pub fn read_pid(pid_fn: &str) -> Result { } pub fn ctrl_sock_from_pid(pid: i32) -> String { - format!("\0{}/control-{}.sock", buildcfg::PROXMOX_BACKUP_RUN_DIR, pid) + format!("\0{}/control-{}.sock", pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR, pid) } pub fn our_ctrl_sock() -> String { @@ -94,7 +94,7 @@ pub mod ticket; pub mod auth; pub(crate) async fn reload_proxy_certificate() -> Result<(), Error> { - let proxy_pid = crate::server::read_pid(buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; + let proxy_pid = crate::server::read_pid(pbs_buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; let sock = crate::server::ctrl_sock_from_pid(proxy_pid); let _: Value = crate::server::send_raw_command(sock, "{\"command\":\"reload-certificate\"}\n") .await?; @@ -102,7 +102,7 @@ pub(crate) async fn reload_proxy_certificate() -> Result<(), Error> { } pub(crate) async fn notify_datastore_removed() -> Result<(), Error> { - let proxy_pid = crate::server::read_pid(buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; + let proxy_pid = crate::server::read_pid(pbs_buildcfg::PROXMOX_BACKUP_PROXY_PID_FN)?; let sock = crate::server::ctrl_sock_from_pid(proxy_pid); let _: Value = crate::server::send_raw_command(sock, "{\"command\":\"datastore-removed\"}\n") .await?; diff --git a/src/server/rest.rs b/src/server/rest.rs index 114512476..64ede1c1e 100644 --- a/src/server/rest.rs +++ b/src/server/rest.rs @@ -201,7 +201,7 @@ pub fn auth_logger() -> Result { owned_by_backup: true, ..Default::default() }; - FileLogger::new(crate::buildcfg::API_AUTH_LOG_FN, logger_options) + FileLogger::new(pbs_buildcfg::API_AUTH_LOG_FN, logger_options) } fn get_proxied_peer(headers: &HeaderMap) -> Option { diff --git a/src/server/worker_task.rs b/src/server/worker_task.rs index 84019fef8..ecda7d5c0 100644 --- a/src/server/worker_task.rs +++ b/src/server/worker_task.rs @@ -18,14 +18,15 @@ use proxmox::tools::fs::{create_path, open_file_locked, replace_file, CreateOpti use super::UPID; -use crate::buildcfg; +use pbs_buildcfg; + use crate::server; use crate::tools::logrotate::{LogRotate, LogRotateFiles}; use crate::tools::{FileLogger, FileLogOptions}; use crate::api2::types::{Authid, TaskStateType}; macro_rules! taskdir { - ($subdir:expr) => (concat!(PROXMOX_BACKUP_LOG_DIR_M!(), "/tasks", $subdir)) + ($subdir:expr) => (concat!(pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR_M!(), "/tasks", $subdir)) } pub const PROXMOX_BACKUP_TASK_DIR: &str = taskdir!("/"); pub const PROXMOX_BACKUP_TASK_LOCK_FN: &str = taskdir!("/.active.lock"); @@ -162,9 +163,9 @@ pub fn create_task_log_dirs() -> Result<(), Error> { .owner(backup_user.uid) .group(backup_user.gid); - create_path(buildcfg::PROXMOX_BACKUP_LOG_DIR, None, Some(opts.clone()))?; + create_path(pbs_buildcfg::PROXMOX_BACKUP_LOG_DIR, None, Some(opts.clone()))?; create_path(PROXMOX_BACKUP_TASK_DIR, None, Some(opts.clone()))?; - create_path(buildcfg::PROXMOX_BACKUP_RUN_DIR, None, Some(opts))?; + create_path(pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR, None, Some(opts))?; Ok(()) }).map_err(|err: Error| format_err!("unable to create task log dir - {}", err))?; diff --git a/src/tape/mod.rs b/src/tape/mod.rs index ed03d8a72..5248d21b4 100644 --- a/src/tape/mod.rs +++ b/src/tape/mod.rs @@ -7,6 +7,8 @@ use proxmox::tools::fs::{ CreateOptions, }; +use pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR_M; + #[cfg(test)] mod test; diff --git a/src/tools.rs b/src/tools.rs index 3b0bf0879..716b95935 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -599,7 +599,7 @@ pub fn create_run_dir() -> Result<(), Error> { let opts = CreateOptions::new() .owner(backup_user.uid) .group(backup_user.gid); - let _: bool = create_path(PROXMOX_BACKUP_RUN_DIR_M!(), None, Some(opts))?; + let _: bool = create_path(pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR_M!(), None, Some(opts))?; Ok(()) } diff --git a/src/tools/cert.rs b/src/tools/cert.rs index bcc3e69b3..cef04fe9f 100644 --- a/src/tools/cert.rs +++ b/src/tools/cert.rs @@ -7,7 +7,7 @@ use openssl::x509::{X509, GeneralName}; use openssl::stack::Stack; use openssl::pkey::{Public, PKey}; -use crate::configdir; +use pbs_buildcfg::configdir; // C type: #[allow(non_camel_case_types)] diff --git a/src/tools/memcom.rs b/src/tools/memcom.rs index 9ad06263e..9921f5c97 100644 --- a/src/tools/memcom.rs +++ b/src/tools/memcom.rs @@ -31,7 +31,7 @@ struct Head { static INSTANCE: OnceCell> = OnceCell::new(); -const MEMCOM_FILE_PATH: &str = rundir!("/proxmox-backup-memcom"); +const MEMCOM_FILE_PATH: &str = pbs_buildcfg::rundir!("/proxmox-backup-memcom"); impl Memcom { /// Open the memory based communication channel singleton.