]> git.proxmox.com Git - proxmox-backup.git/commitdiff
split out pbs-buildcfg module
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 6 Jul 2021 09:56:35 +0000 (11:56 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 6 Jul 2021 10:00:14 +0000 (12:00 +0200)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
25 files changed:
Cargo.toml
pbs-buildcfg/Cargo.toml [new file with mode: 0644]
pbs-buildcfg/src/lib.rs [new file with mode: 0644]
src/api2/node/certificates.rs
src/auth.rs
src/auth_helpers.rs
src/bin/proxmox-backup-api.rs
src/bin/proxmox-backup-proxy.rs
src/bin/proxmox_client_tools/mod.rs
src/bin/proxmox_file_restore/qemu_helper.rs
src/buildcfg.rs [deleted file]
src/config.rs
src/config/acme/mod.rs
src/config/acme/plugin.rs
src/config/node.rs
src/config/tfa.rs
src/config/token_shadow.rs
src/lib.rs
src/server.rs
src/server/rest.rs
src/server/worker_task.rs
src/tape/mod.rs
src/tools.rs
src/tools/cert.rs
src/tools/memcom.rs

index 284777f2d43038af5987871c6b53ff04b1080481..b52e5c53af6cd94a3c8b4a6cfee49fece18378c4 100644 (file)
@@ -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 (file)
index 0000000..e3c5d20
--- /dev/null
@@ -0,0 +1,8 @@
+[package]
+name = "pbs-buildcfg"
+version = "0.1.0"
+authors = ["Proxmox Support Team <support@proxmox.com>"]
+edition = "2018"
+description = "macros used for pbs related paths such as configdir and rundir"
+
+[dependencies]
diff --git a/pbs-buildcfg/src/lib.rs b/pbs-buildcfg/src/lib.rs
new file mode 100644 (file)
index 0000000..c1cd05b
--- /dev/null
@@ -0,0 +1,75 @@
+//! Exports configuration data from the build system
+
+/// The configured configuration directory
+pub const CONFIGDIR: &str = "/etc/proxmox-backup";
+pub const JS_DIR: &str = "/usr/share/javascript/proxmox-backup";
+
+#[macro_export]
+macro_rules! PROXMOX_BACKUP_RUN_DIR_M { () => ("/run/proxmox-backup") }
+
+#[macro_export]
+macro_rules! PROXMOX_BACKUP_LOG_DIR_M { () => ("/var/log/proxmox-backup") }
+
+#[macro_export]
+macro_rules! PROXMOX_BACKUP_CACHE_DIR_M { () => ("/var/cache/proxmox-backup") }
+
+#[macro_export]
+macro_rules! PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M {
+    () => ("/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore")
+}
+
+/// namespaced directory for in-memory (tmpfs) run state
+pub const PROXMOX_BACKUP_RUN_DIR: &str = PROXMOX_BACKUP_RUN_DIR_M!();
+
+/// namespaced directory for persistent logging
+pub const PROXMOX_BACKUP_LOG_DIR: &str = PROXMOX_BACKUP_LOG_DIR_M!();
+
+/// logfile for all API requests handled by the proxy and privileged API daemons. Note that not all
+/// failed logins can be logged here with full information, use the auth log for that.
+pub const API_ACCESS_LOG_FN: &str = concat!(PROXMOX_BACKUP_LOG_DIR_M!(), "/api/access.log");
+
+/// logfile for any failed authentication, via ticket or via token, and new successful ticket
+/// creations. This file can be useful for fail2ban.
+pub const API_AUTH_LOG_FN: &str = concat!(PROXMOX_BACKUP_LOG_DIR_M!(), "/api/auth.log");
+
+/// the PID filename for the unprivileged proxy daemon
+pub const PROXMOX_BACKUP_PROXY_PID_FN: &str = concat!(PROXMOX_BACKUP_RUN_DIR_M!(), "/proxy.pid");
+
+/// the PID filename for the privileged api daemon
+pub const PROXMOX_BACKUP_API_PID_FN: &str = concat!(PROXMOX_BACKUP_RUN_DIR_M!(), "/api.pid");
+
+/// filename of the cached initramfs to use for booting single file restore VMs, this file is
+/// automatically created by APT hooks
+pub const PROXMOX_BACKUP_INITRAMFS_FN: &str =
+    concat!(PROXMOX_BACKUP_CACHE_DIR_M!(), "/file-restore-initramfs.img");
+
+/// filename of the cached initramfs to use for debugging single file restore
+pub const PROXMOX_BACKUP_INITRAMFS_DBG_FN: &str =
+    concat!(PROXMOX_BACKUP_CACHE_DIR_M!(), "/file-restore-initramfs-debug.img");
+
+/// filename of the kernel to use for booting single file restore VMs
+pub const PROXMOX_BACKUP_KERNEL_FN: &str =
+    concat!(PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M!(), "/bzImage");
+
+/// Prepend configuration directory to a file name
+///
+/// This is a simply way to get the full path for configuration files.
+/// #### Example:
+/// ```
+/// # #[macro_use] extern crate proxmox_backup;
+/// let cert_path = configdir!("/proxy.pfx");
+/// ```
+#[macro_export]
+macro_rules! configdir {
+    ($subdir:expr) => (concat!("/etc/proxmox-backup", $subdir))
+}
+
+/// Prepend the run directory to a file name.
+///
+/// This is a simply way to get the full path for files in `/run`.
+#[macro_export]
+macro_rules! rundir {
+    ($subdir:expr) => {
+        concat!($crate::PROXMOX_BACKUP_RUN_DIR_M!(), $subdir)
+    };
+}
index 79df5d0f9f76f946b9947514e94d2d4357e2bc2d..34842673efc3fd42d59b54a89a3dcbf07b2d6d35 100644 (file)
@@ -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;
index 3272dd6d5ac201e4f019e8407adfc97dd5e169b2..4845601a152713f1b85a612c2ba638942d62ed0c 100644 (file)
@@ -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 {
index fca9015e09012b04706a464f8bc9b3a4f339daa1..33d142b304550a2de87d03e4cd86c5f297a542cb 100644 (file)
@@ -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(
index f50a04a513e457aa95490bc95bc0c93056ef0c33..625b7232df3d991e8f3ec71fcdab0e12b487e034 100644 (file)
@@ -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!({
index d6194bc923b01b014bf494f36e2f9b8d21445c63..728c0da55110ae5d5fe524d1d4b43d4d122d528a 100644 (file)
@@ -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");
 
index 1cdcf0df231575a24ac996dc2700d59bde73bf96..24d9fa6305f262b58124a972f7ea5556bf18a38d 100644 (file)
@@ -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/<uid> instead.
 pub fn get_user_run_dir() -> Result<std::path::PathBuf, Error> {
     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)?;
index 64d8e909316ef61ce11d740116bd2604713989ef..8ab372a120b024dcb7ec066fcbb55a521287924f 100644 (file)
@@ -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<String, Error> {
-    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<String, Error> {
             .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<String, Error> {
 }
 
 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/buildcfg.rs b/src/buildcfg.rs
deleted file mode 100644 (file)
index c70ab6e..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-//! Exports configuration data from the build system
-
-/// The configured configuration directory
-pub const CONFIGDIR: &str = "/etc/proxmox-backup";
-pub const JS_DIR: &str = "/usr/share/javascript/proxmox-backup";
-
-#[macro_export]
-macro_rules! PROXMOX_BACKUP_RUN_DIR_M { () => ("/run/proxmox-backup") }
-
-#[macro_export]
-macro_rules! PROXMOX_BACKUP_LOG_DIR_M { () => ("/var/log/proxmox-backup") }
-
-#[macro_export]
-macro_rules! PROXMOX_BACKUP_CACHE_DIR_M { () => ("/var/cache/proxmox-backup") }
-
-#[macro_export]
-macro_rules! PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M {
-    () => ("/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore")
-}
-
-/// namespaced directory for in-memory (tmpfs) run state
-pub const PROXMOX_BACKUP_RUN_DIR: &str = PROXMOX_BACKUP_RUN_DIR_M!();
-
-/// namespaced directory for persistent logging
-pub const PROXMOX_BACKUP_LOG_DIR: &str = PROXMOX_BACKUP_LOG_DIR_M!();
-
-/// logfile for all API requests handled by the proxy and privileged API daemons. Note that not all
-/// failed logins can be logged here with full information, use the auth log for that.
-pub const API_ACCESS_LOG_FN: &str = concat!(PROXMOX_BACKUP_LOG_DIR_M!(), "/api/access.log");
-
-/// logfile for any failed authentication, via ticket or via token, and new successful ticket
-/// creations. This file can be useful for fail2ban.
-pub const API_AUTH_LOG_FN: &str = concat!(PROXMOX_BACKUP_LOG_DIR_M!(), "/api/auth.log");
-
-/// the PID filename for the unprivileged proxy daemon
-pub const PROXMOX_BACKUP_PROXY_PID_FN: &str = concat!(PROXMOX_BACKUP_RUN_DIR_M!(), "/proxy.pid");
-
-/// the PID filename for the privileged api daemon
-pub const PROXMOX_BACKUP_API_PID_FN: &str = concat!(PROXMOX_BACKUP_RUN_DIR_M!(), "/api.pid");
-
-/// filename of the cached initramfs to use for booting single file restore VMs, this file is
-/// automatically created by APT hooks
-pub const PROXMOX_BACKUP_INITRAMFS_FN: &str =
-    concat!(PROXMOX_BACKUP_CACHE_DIR_M!(), "/file-restore-initramfs.img");
-
-/// filename of the cached initramfs to use for debugging single file restore
-pub const PROXMOX_BACKUP_INITRAMFS_DBG_FN: &str =
-    concat!(PROXMOX_BACKUP_CACHE_DIR_M!(), "/file-restore-initramfs-debug.img");
-
-/// filename of the kernel to use for booting single file restore VMs
-pub const PROXMOX_BACKUP_KERNEL_FN: &str =
-    concat!(PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M!(), "/bzImage");
-
-/// Prepend configuration directory to a file name
-///
-/// This is a simply way to get the full path for configuration files.
-/// #### Example:
-/// ```
-/// # #[macro_use] extern crate proxmox_backup;
-/// let cert_path = configdir!("/proxy.pfx");
-/// ```
-#[macro_export]
-macro_rules! configdir {
-    ($subdir:expr) => (concat!("/etc/proxmox-backup", $subdir))
-}
-
-/// Prepend the run directory to a file name.
-///
-/// This is a simply way to get the full path for files in `/run`.
-#[macro_export]
-macro_rules! rundir {
-    ($subdir:expr) => {
-        concat!(PROXMOX_BACKUP_RUN_DIR_M!(), $subdir)
-    };
-}
index 329315ecf0b44a808986f5381885acaf1fa580a3..014d184f49ffb0431509c17a04759d470598a9a2 100644 (file)
@@ -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(()) => {}
index 142ed2df3dc678387eeb95f534736effa5000c2c..2534471aa8d4bd7248208a7f61779c96f0a6fe29 100644 (file)
@@ -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";
 
index 2e22ab772e849c69aa3b9b3f664e4008a201cb46..960aec3a058b8e9938b1d742dbd4e1f79664edaf 100644 (file)
@@ -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<std::fs::File, Error> {
index 2e4205cd0466f8db0ca3072feb59bbc1d631d9cb..27e32cd1029f7cbed38d5c0559bc907892d2c734 100644 (file)
@@ -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,
index 6a991d1e40862ca9331ed5216929d0aad3586dbe..341307db7ea37c2ed207499943ba93f1d35a1ab2 100644 (file)
@@ -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;
index 14acdbebd85d60d233fb3a02e70734ace030950b..9f8bb2e0a5d717e4e111efd90791d5004f608d68 100644 (file)
@@ -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)]
index 1b1de527bbe0fa38aa47c1e36016605575c69ec3..0af303a4745844efec43b9162bb3bbe1d4dbef7c 100644 (file)
@@ -5,9 +5,6 @@
 
 pub mod task;
 
-#[macro_use]
-pub mod buildcfg;
-
 #[macro_use]
 pub mod tools;
 
index c4a369677e6acd69b1f30de0835d27cfc4345efd..b0191e0e983f3ed5fc742b75c7b98ff0096bb1fd 100644 (file)
@@ -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<i32, Error> {
 }
 
 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?;
index 1145124769f04394398f027c4ead292090b1ac5c..64ede1c1e42c223ae0d22516cc308233a0e44b9d 100644 (file)
@@ -201,7 +201,7 @@ pub fn auth_logger() -> Result<FileLogger, Error> {
         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<std::net::SocketAddr> {
index 84019fef87839f4149a6900f4901c8d171c6cdc9..ecda7d5c0025c036d6cf2bfc55985fa4c47f1a19 100644 (file)
@@ -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))?;
 
index ed03d8a72131cad2c929899f655e81af2e688049..5248d21b4676fbb5c03c017e07ce6c21d03f5532 100644 (file)
@@ -7,6 +7,8 @@ use proxmox::tools::fs::{
     CreateOptions,
 };
 
+use pbs_buildcfg::PROXMOX_BACKUP_RUN_DIR_M;
+
 #[cfg(test)]
 mod test;
 
index 3b0bf0879fa8f5b07de3d32e3b33da0cc63ceb0c..716b959350fc0aad063c83f1cb490887590227ec 100644 (file)
@@ -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(())
 }
 
index bcc3e69b3daefac0b11f73c4b1e4d6fee99308b3..cef04fe9fe11dda1eb1875d0bdf0a6f65bd329d5 100644 (file)
@@ -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)]
index 9ad06263ee65969c7540a6c1f38cb6e49b245747..9921f5c97df8e8bd529d377849f4fa09f348ad18 100644 (file)
@@ -31,7 +31,7 @@ struct Head {
 
 static INSTANCE: OnceCell<Arc<Memcom>> = 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.