diff --git a/Cargo.toml b/Cargo.toml index ea4c8bff..f169f065 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ bytes = "0.5" chrono = "0.4" # Date and time library for Rust crc32fast = "1" endian_trait = { version = "0.6", features = ["arrays"] } -failure = "0.1" +anyhow = "1.0" futures = "0.3" h2 = { version = "0.2", features = ["stream"] } http = "0.2" @@ -34,7 +34,7 @@ pam = "0.7" pam-sys = "0.5" percent-encoding = "2.1" pin-utils = "0.1.0-alpha" -proxmox = { version = "0.1.21", features = [ "sortable-macro", "api-macro" ] } +proxmox = { version = "0.1.22", features = [ "sortable-macro", "api-macro" ] } #proxmox = { git = "ssh://gitolite3@proxdev.maurer-it.com/rust/proxmox", version = "0.1.2", features = [ "sortable-macro", "api-macro" ] } #proxmox = { path = "../proxmox/proxmox", features = [ "sortable-macro", "api-macro" ] } regex = "1.2" diff --git a/src/api2/access.rs b/src/api2/access.rs index 8a483b5d..ab76c0d5 100644 --- a/src/api2/access.rs +++ b/src/api2/access.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use serde_json::{json, Value}; diff --git a/src/api2/access/acl.rs b/src/api2/access/acl.rs index 74791afa..d18b3976 100644 --- a/src/api2/access/acl.rs +++ b/src/api2/access/acl.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use ::serde::{Deserialize, Serialize}; use proxmox::api::{api, Router, RpcEnvironment, Permission}; diff --git a/src/api2/access/domain.rs b/src/api2/access/domain.rs index f899e59f..1ee35a03 100644 --- a/src/api2/access/domain.rs +++ b/src/api2/access/domain.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; diff --git a/src/api2/access/role.rs b/src/api2/access/role.rs index 8d73e8af..bdf51fa3 100644 --- a/src/api2/access/role.rs +++ b/src/api2/access/role.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::Error; use serde_json::{json, Value}; diff --git a/src/api2/access/user.rs b/src/api2/access/user.rs index 5cd7ef78..c59ac78c 100644 --- a/src/api2/access/user.rs +++ b/src/api2/access/user.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use serde_json::Value; use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission}; diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs index 09f92b0b..1109521a 100644 --- a/src/api2/admin/datastore.rs +++ b/src/api2/admin/datastore.rs @@ -2,7 +2,7 @@ use std::collections::{HashSet, HashMap}; use std::convert::TryFrom; use chrono::{TimeZone, Local}; -use failure::*; +use anyhow::{bail, Error}; use futures::*; use hyper::http::request::Parts; use hyper::{header, Body, Response, StatusCode}; diff --git a/src/api2/backup.rs b/src/api2/backup.rs index 7f9f89f6..38af92af 100644 --- a/src/api2/backup.rs +++ b/src/api2/backup.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use hyper::header::{HeaderValue, UPGRADE}; use hyper::http::request::Parts; diff --git a/src/api2/backup/environment.rs b/src/api2/backup/environment.rs index edef9b88..863ad764 100644 --- a/src/api2/backup/environment.rs +++ b/src/api2/backup/environment.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::sync::{Arc, Mutex}; use std::collections::HashMap; diff --git a/src/api2/backup/upload_chunk.rs b/src/api2/backup/upload_chunk.rs index 3fc457b0..483ced3c 100644 --- a/src/api2/backup/upload_chunk.rs +++ b/src/api2/backup/upload_chunk.rs @@ -2,7 +2,7 @@ use std::pin::Pin; use std::sync::Arc; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use hyper::Body; use hyper::http::request::Parts; diff --git a/src/api2/config/datastore.rs b/src/api2/config/datastore.rs index 464ee6d0..a388737d 100644 --- a/src/api2/config/datastore.rs +++ b/src/api2/config/datastore.rs @@ -1,6 +1,6 @@ use std::path::PathBuf; -use failure::*; +use anyhow::{bail, Error}; use serde_json::Value; use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission}; diff --git a/src/api2/config/remote.rs b/src/api2/config/remote.rs index 86f09445..5dcd6739 100644 --- a/src/api2/config/remote.rs +++ b/src/api2/config/remote.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use serde_json::Value; use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission}; diff --git a/src/api2/node/dns.rs b/src/api2/node/dns.rs index 419973e9..b87f6a53 100644 --- a/src/api2/node/dns.rs +++ b/src/api2/node/dns.rs @@ -1,6 +1,6 @@ use std::sync::{Arc, Mutex}; -use failure::*; +use anyhow::{Error}; use lazy_static::lazy_static; use openssl::sha; use regex::Regex; diff --git a/src/api2/node/journal.rs b/src/api2/node/journal.rs index 494968c6..2c38c959 100644 --- a/src/api2/node/journal.rs +++ b/src/api2/node/journal.rs @@ -1,6 +1,6 @@ use std::process::{Command, Stdio}; -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use std::io::{BufRead,BufReader}; diff --git a/src/api2/node/network.rs b/src/api2/node/network.rs index 42627e78..1f47db13 100644 --- a/src/api2/node/network.rs +++ b/src/api2/node/network.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::api::{api, Router, Permission}; diff --git a/src/api2/node/services.rs b/src/api2/node/services.rs index fc8c01e7..dc539161 100644 --- a/src/api2/node/services.rs +++ b/src/api2/node/services.rs @@ -1,6 +1,6 @@ use std::process::{Command, Stdio}; -use failure::*; +use anyhow::{bail, Error}; use serde_json::{json, Value}; use proxmox::{sortable, identity, list_subdirs_api_method}; diff --git a/src/api2/node/status.rs b/src/api2/node/status.rs index 8237ee39..0daba1e6 100644 --- a/src/api2/node/status.rs +++ b/src/api2/node/status.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::sys::linux::procfs; diff --git a/src/api2/node/syslog.rs b/src/api2/node/syslog.rs index 55b3bd5c..3e603a25 100644 --- a/src/api2/node/syslog.rs +++ b/src/api2/node/syslog.rs @@ -1,6 +1,6 @@ use std::process::{Command, Stdio}; -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::api::{api, ApiMethod, Router, RpcEnvironment, Permission}; diff --git a/src/api2/node/tasks.rs b/src/api2/node/tasks.rs index 4e1b3021..79811e20 100644 --- a/src/api2/node/tasks.rs +++ b/src/api2/node/tasks.rs @@ -1,7 +1,7 @@ use std::fs::File; use std::io::{BufRead, BufReader}; -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::api::{api, Router, RpcEnvironment, Permission}; diff --git a/src/api2/node/time.rs b/src/api2/node/time.rs index a87e8a0e..cfec80be 100644 --- a/src/api2/node/time.rs +++ b/src/api2/node/time.rs @@ -1,7 +1,7 @@ use std::mem::{self, MaybeUninit}; use chrono::prelude::*; -use failure::*; +use anyhow::{bail, Error}; use serde_json::{json, Value}; use proxmox::api::{api, Router, Permission}; diff --git a/src/api2/pull.rs b/src/api2/pull.rs index e1a5a276..8b867367 100644 --- a/src/api2/pull.rs +++ b/src/api2/pull.rs @@ -1,6 +1,6 @@ //! Sync datastore from remote server -use failure::*; +use anyhow::{bail, format_err, Error}; use serde_json::json; use std::convert::TryFrom; use std::sync::Arc; diff --git a/src/api2/reader.rs b/src/api2/reader.rs index f8fc5a19..085e700f 100644 --- a/src/api2/reader.rs +++ b/src/api2/reader.rs @@ -1,5 +1,5 @@ //use chrono::{Local, TimeZone}; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use hyper::header::{self, HeaderValue, UPGRADE}; use hyper::http::request::Parts; diff --git a/src/api2/reader/environment.rs b/src/api2/reader/environment.rs index b56d9e6e..a5a5fe23 100644 --- a/src/api2/reader/environment.rs +++ b/src/api2/reader/environment.rs @@ -1,4 +1,4 @@ -//use failure::*; +//use anyhow::{bail, format_err, Error}; use std::sync::Arc; use std::collections::HashMap; diff --git a/src/api2/subscription.rs b/src/api2/subscription.rs index f88f2d7d..7d1b0237 100644 --- a/src/api2/subscription.rs +++ b/src/api2/subscription.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::api::{api, Router, Permission}; diff --git a/src/api2/types.rs b/src/api2/types.rs index 2b0f1c7d..94d5217d 100644 --- a/src/api2/types.rs +++ b/src/api2/types.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail}; use ::serde::{Deserialize, Serialize}; use proxmox::api::{api, schema::*}; diff --git a/src/api2/version.rs b/src/api2/version.rs index 4935990f..91de0be6 100644 --- a/src/api2/version.rs +++ b/src/api2/version.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use proxmox::api::{ApiHandler, ApiMethod, Router, RpcEnvironment, Permission}; diff --git a/src/auth.rs b/src/auth.rs index e011cdcc..768dd2b8 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -7,7 +7,7 @@ use std::io::Write; use std::ffi::{CString, CStr}; use base64; -use failure::*; +use anyhow::{bail, format_err, Error}; use serde_json::json; pub trait ProxmoxAuthenticator { diff --git a/src/auth_helpers.rs b/src/auth_helpers.rs index bca58bdf..6243dafd 100644 --- a/src/auth_helpers.rs +++ b/src/auth_helpers.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use lazy_static::lazy_static; use openssl::rsa::{Rsa}; diff --git a/src/backup.rs b/src/backup.rs index 19830077..7a2bf1ca 100644 --- a/src/backup.rs +++ b/src/backup.rs @@ -103,7 +103,7 @@ //! //! Not sure if this is better. TODO -use failure::*; +use anyhow::{bail, Error}; // Note: .pcat1 => Proxmox Catalog Format version 1 pub const CATALOG_NAME: &str = "catalog.pcat1.didx"; diff --git a/src/backup/backup_info.rs b/src/backup/backup_info.rs index 747a7f0e..60b61f89 100644 --- a/src/backup/backup_info.rs +++ b/src/backup/backup_info.rs @@ -1,6 +1,6 @@ use crate::tools; -use failure::*; +use anyhow::{bail, format_err, Error}; use regex::Regex; use std::os::unix::io::RawFd; diff --git a/src/backup/catalog.rs b/src/backup/catalog.rs index cf294448..8d54fe37 100644 --- a/src/backup/catalog.rs +++ b/src/backup/catalog.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use std::fmt; use std::ffi::{CStr, CString, OsStr}; use std::os::unix::ffi::OsStrExt; diff --git a/src/backup/catalog_shell.rs b/src/backup/catalog_shell.rs index 036e763e..2f30ea2a 100644 --- a/src/backup/catalog_shell.rs +++ b/src/backup/catalog_shell.rs @@ -7,7 +7,7 @@ use std::os::unix::ffi::OsStrExt; use std::path::{Component, Path, PathBuf}; use chrono::{Utc, offset::TimeZone}; -use failure::*; +use anyhow::{bail, format_err, Error}; use nix::sys::stat::{Mode, SFlag}; use proxmox::api::{cli::*, *}; diff --git a/src/backup/checksum_reader.rs b/src/backup/checksum_reader.rs index 4b90349d..a4fbce59 100644 --- a/src/backup/checksum_reader.rs +++ b/src/backup/checksum_reader.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::sync::Arc; use std::io::Read; diff --git a/src/backup/checksum_writer.rs b/src/backup/checksum_writer.rs index c9c3fabc..1167be6c 100644 --- a/src/backup/checksum_writer.rs +++ b/src/backup/checksum_writer.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use std::io::Write; -use failure::*; +use anyhow::{Error}; use super::CryptConfig; use crate::tools::borrow::Tied; diff --git a/src/backup/chunk_store.rs b/src/backup/chunk_store.rs index 906b0f7d..7ea0cb5f 100644 --- a/src/backup/chunk_store.rs +++ b/src/backup/chunk_store.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use std::path::{Path, PathBuf}; use std::io::Write; diff --git a/src/backup/chunk_stream.rs b/src/backup/chunk_stream.rs index 2d2a95c7..5bb06158 100644 --- a/src/backup/chunk_stream.rs +++ b/src/backup/chunk_stream.rs @@ -2,7 +2,7 @@ use std::pin::Pin; use std::task::{Context, Poll}; use bytes::BytesMut; -use failure::*; +use anyhow::{Error}; use futures::ready; use futures::stream::{Stream, TryStream}; diff --git a/src/backup/crypt_config.rs b/src/backup/crypt_config.rs index bb053ae8..771d41e0 100644 --- a/src/backup/crypt_config.rs +++ b/src/backup/crypt_config.rs @@ -6,7 +6,7 @@ //! See the Wikipedia Artikel for [Authenticated //! encryption](https://en.wikipedia.org/wiki/Authenticated_encryption) //! for a short introduction. -use failure::*; +use anyhow::{bail, Error}; use openssl::pkcs5::pbkdf2_hmac; use openssl::hash::MessageDigest; use openssl::symm::{decrypt_aead, Cipher, Crypter, Mode}; diff --git a/src/backup/crypt_reader.rs b/src/backup/crypt_reader.rs index 23bbd98a..ee2e625a 100644 --- a/src/backup/crypt_reader.rs +++ b/src/backup/crypt_reader.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::sync::Arc; use std::io::{Read, BufRead}; diff --git a/src/backup/crypt_writer.rs b/src/backup/crypt_writer.rs index bb3294f1..a75f91b2 100644 --- a/src/backup/crypt_writer.rs +++ b/src/backup/crypt_writer.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::sync::Arc; use std::io::Write; diff --git a/src/backup/data_blob.rs b/src/backup/data_blob.rs index 3a5a05e0..03bbfec9 100644 --- a/src/backup/data_blob.rs +++ b/src/backup/data_blob.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::convert::TryInto; use proxmox::tools::io::{ReadExt, WriteExt}; diff --git a/src/backup/data_blob_reader.rs b/src/backup/data_blob_reader.rs index 9ae112ad..62caa5ce 100644 --- a/src/backup/data_blob_reader.rs +++ b/src/backup/data_blob_reader.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::sync::Arc; use std::io::{Read, BufReader}; use proxmox::tools::io::ReadExt; diff --git a/src/backup/data_blob_writer.rs b/src/backup/data_blob_writer.rs index e843cd06..4ff01957 100644 --- a/src/backup/data_blob_writer.rs +++ b/src/backup/data_blob_writer.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::sync::Arc; use std::io::{Write, Seek, SeekFrom}; use proxmox::tools::io::WriteExt; diff --git a/src/backup/datastore.rs b/src/backup/datastore.rs index 3ee48fee..24ae4e0c 100644 --- a/src/backup/datastore.rs +++ b/src/backup/datastore.rs @@ -3,7 +3,7 @@ use std::io; use std::path::{Path, PathBuf}; use std::sync::{Arc, Mutex}; -use failure::*; +use anyhow::{bail, format_err, Error}; use lazy_static::lazy_static; use chrono::{DateTime, Utc}; diff --git a/src/backup/dynamic_index.rs b/src/backup/dynamic_index.rs index bc65da22..d6115b83 100644 --- a/src/backup/dynamic_index.rs +++ b/src/backup/dynamic_index.rs @@ -5,7 +5,7 @@ use std::os::unix::io::AsRawFd; use std::path::{Path, PathBuf}; use std::sync::Arc; -use failure::*; +use anyhow::{bail, format_err, Error}; use proxmox::tools::io::ReadExt; use proxmox::tools::uuid::Uuid; @@ -275,7 +275,7 @@ struct ChunkCacher<'a, S> { } impl<'a, S: ReadChunk> crate::tools::lru_cache::Cacher)> for ChunkCacher<'a, S> { - fn fetch(&mut self, index: usize) -> Result)>, failure::Error> { + fn fetch(&mut self, index: usize) -> Result)>, anyhow::Error> { let (start, end, digest) = self.index.chunk_info(index)?; self.store.read_chunk(&digest).and_then(|data| Ok(Some((start, end, data)))) } diff --git a/src/backup/fixed_index.rs b/src/backup/fixed_index.rs index d3726320..f21b2d03 100644 --- a/src/backup/fixed_index.rs +++ b/src/backup/fixed_index.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use std::convert::TryInto; use std::io::{Seek, SeekFrom}; diff --git a/src/backup/index.rs b/src/backup/index.rs index 977ed109..4398161c 100644 --- a/src/backup/index.rs +++ b/src/backup/index.rs @@ -3,7 +3,7 @@ use std::pin::Pin; use std::task::{Context, Poll}; use bytes::{Bytes, BytesMut}; -use failure::*; +use anyhow::{format_err, Error}; use futures::*; /// Trait to get digest list from index files diff --git a/src/backup/key_derivation.rs b/src/backup/key_derivation.rs index 547eed96..37d4688b 100644 --- a/src/backup/key_derivation.rs +++ b/src/backup/key_derivation.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use serde::{Deserialize, Serialize}; use chrono::{Local, TimeZone, DateTime}; diff --git a/src/backup/manifest.rs b/src/backup/manifest.rs index ec08f723..1efa2ba2 100644 --- a/src/backup/manifest.rs +++ b/src/backup/manifest.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use std::convert::TryFrom; use std::path::Path; diff --git a/src/backup/prune.rs b/src/backup/prune.rs index eb03891a..bd7cf3b1 100644 --- a/src/backup/prune.rs +++ b/src/backup/prune.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::collections::{HashMap, HashSet}; use std::path::PathBuf; diff --git a/src/backup/read_chunk.rs b/src/backup/read_chunk.rs index 9662ea8e..42b281c7 100644 --- a/src/backup/read_chunk.rs +++ b/src/backup/read_chunk.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::sync::Arc; use super::datastore::*; diff --git a/src/bin/cipherbench.rs b/src/bin/cipherbench.rs index 5bf147ea..581c101a 100644 --- a/src/bin/cipherbench.rs +++ b/src/bin/cipherbench.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; // chacha20-poly1305 diff --git a/src/bin/completion.rs b/src/bin/completion.rs index cbeec365..6e5630bd 100644 --- a/src/bin/completion.rs +++ b/src/bin/completion.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use proxmox::api::{*, cli::*}; diff --git a/src/bin/download-speed.rs b/src/bin/download-speed.rs index 7df0454e..dbb982b5 100644 --- a/src/bin/download-speed.rs +++ b/src/bin/download-speed.rs @@ -1,6 +1,6 @@ use std::io::Write; -use failure::*; +use anyhow::{Error}; use chrono::{DateTime, Utc}; diff --git a/src/bin/dump-backup-api.rs b/src/bin/dump-backup-api.rs index 3a15dd15..4cb908bc 100644 --- a/src/bin/dump-backup-api.rs +++ b/src/bin/dump-backup-api.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use proxmox::api::format::*; diff --git a/src/bin/dump-catalog-shell-cli.rs b/src/bin/dump-catalog-shell-cli.rs index 4a2553e1..7dcb9dc1 100644 --- a/src/bin/dump-catalog-shell-cli.rs +++ b/src/bin/dump-catalog-shell-cli.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use proxmox::api::format::*; use proxmox::api::cli::*; diff --git a/src/bin/dump-reader-api.rs b/src/bin/dump-reader-api.rs index 252ec728..5abd96c6 100644 --- a/src/bin/dump-reader-api.rs +++ b/src/bin/dump-reader-api.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use proxmox::api::format::dump_api; diff --git a/src/bin/dynamic-files.rs b/src/bin/dynamic-files.rs index 97ce9531..9d001f5c 100644 --- a/src/bin/dynamic-files.rs +++ b/src/bin/dynamic-files.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::thread; use std::path::PathBuf; diff --git a/src/bin/h2client.rs b/src/bin/h2client.rs index b82ec55d..87a6e326 100644 --- a/src/bin/h2client.rs +++ b/src/bin/h2client.rs @@ -2,7 +2,7 @@ use std::future::Future; use std::pin::Pin; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{Error}; use futures::future::TryFutureExt; use futures::stream::Stream; use tokio::net::TcpStream; diff --git a/src/bin/h2s-client.rs b/src/bin/h2s-client.rs index 6c848cd2..0d6beaef 100644 --- a/src/bin/h2s-client.rs +++ b/src/bin/h2s-client.rs @@ -2,7 +2,7 @@ use std::future::Future; use std::pin::Pin; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{format_err, Error}; use futures::future::TryFutureExt; use futures::stream::Stream; diff --git a/src/bin/h2s-server.rs b/src/bin/h2s-server.rs index 5218cccc..8481b8ad 100644 --- a/src/bin/h2s-server.rs +++ b/src/bin/h2s-server.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use failure::*; +use anyhow::{format_err, Error}; use futures::*; use hyper::{Request, Response, Body}; use openssl::ssl::{SslMethod, SslAcceptor, SslFiletype}; diff --git a/src/bin/h2server.rs b/src/bin/h2server.rs index 5e31288d..1669347f 100644 --- a/src/bin/h2server.rs +++ b/src/bin/h2server.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use futures::*; // Simple H2 server to test H2 speed with h2client.rs diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs index 4dca9bcb..f5e8bbe6 100644 --- a/src/bin/proxmox-backup-api.rs +++ b/src/bin/proxmox-backup-api.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use futures::*; use proxmox::try_block; diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs index 00e57d71..b54cd729 100644 --- a/src/bin/proxmox-backup-client.rs +++ b/src/bin/proxmox-backup-client.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use nix::unistd::{fork, ForkResult, pipe}; use std::os::unix::io::RawFd; use chrono::{Local, DateTime, Utc, TimeZone}; diff --git a/src/bin/proxmox-backup-manager.rs b/src/bin/proxmox-backup-manager.rs index d1b91a56..c71900d8 100644 --- a/src/bin/proxmox-backup-manager.rs +++ b/src/bin/proxmox-backup-manager.rs @@ -1,7 +1,7 @@ use std::path::PathBuf; use std::collections::HashMap; -use failure::*; +use anyhow::{bail, format_err, Error}; use serde_json::{json, Value}; use proxmox::api::{api, cli::*, RpcEnvironment, ApiHandler}; diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index 82e7af9a..f1612e69 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use hyper; use openssl::ssl::{SslMethod, SslAcceptor, SslFiletype}; diff --git a/src/bin/pxar.rs b/src/bin/pxar.rs index bcbce4ff..5d18b28d 100644 --- a/src/bin/pxar.rs +++ b/src/bin/pxar.rs @@ -1,6 +1,6 @@ extern crate proxmox_backup; -use failure::*; +use anyhow::{format_err, Error}; use proxmox::{sortable, identity}; use proxmox::api::{ApiHandler, ApiMethod, RpcEnvironment}; diff --git a/src/bin/test_chunk_size.rs b/src/bin/test_chunk_size.rs index dcd6b424..4062d235 100644 --- a/src/bin/test_chunk_size.rs +++ b/src/bin/test_chunk_size.rs @@ -2,7 +2,7 @@ extern crate proxmox_backup; // also see https://www.johndcook.com/blog/standard_deviation/ -use failure::*; +use anyhow::{Error}; use std::io::{Read, Write}; use proxmox_backup::backup::*; diff --git a/src/bin/test_chunk_speed2.rs b/src/bin/test_chunk_speed2.rs index 7d061a5d..b68fd54e 100644 --- a/src/bin/test_chunk_speed2.rs +++ b/src/bin/test_chunk_speed2.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use futures::*; extern crate proxmox_backup; diff --git a/src/bin/upload-speed.rs b/src/bin/upload-speed.rs index 9fec13e5..b7d61760 100644 --- a/src/bin/upload-speed.rs +++ b/src/bin/upload-speed.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use proxmox_backup::client::*; diff --git a/src/client/backup_reader.rs b/src/client/backup_reader.rs index 2a8b0194..f7310134 100644 --- a/src/client/backup_reader.rs +++ b/src/client/backup_reader.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{format_err, Error}; use std::io::{Read, Write, Seek, SeekFrom}; use std::fs::File; use std::sync::Arc; diff --git a/src/client/backup_repo.rs b/src/client/backup_repo.rs index 116f349b..bf3bb1fa 100644 --- a/src/client/backup_repo.rs +++ b/src/client/backup_repo.rs @@ -1,6 +1,6 @@ use std::fmt; -use failure::*; +use anyhow::{format_err, Error}; use proxmox::api::schema::*; use proxmox::const_regex; diff --git a/src/client/backup_writer.rs b/src/client/backup_writer.rs index c1cc33a6..9df1035b 100644 --- a/src/client/backup_writer.rs +++ b/src/client/backup_writer.rs @@ -2,7 +2,7 @@ use std::collections::HashSet; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::{Arc, Mutex}; -use failure::*; +use anyhow::{format_err, Error}; use chrono::{DateTime, Utc}; use futures::*; use futures::stream::Stream; diff --git a/src/client/http_client.rs b/src/client/http_client.rs index c15a8eca..ede41eda 100644 --- a/src/client/http_client.rs +++ b/src/client/http_client.rs @@ -3,7 +3,7 @@ use std::task::{Context, Poll}; use std::sync::{Arc, Mutex}; use chrono::Utc; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use http::Uri; use http::header::HeaderValue; diff --git a/src/client/merge_known_chunks.rs b/src/client/merge_known_chunks.rs index 9359bffc..1f278d32 100644 --- a/src/client/merge_known_chunks.rs +++ b/src/client/merge_known_chunks.rs @@ -1,7 +1,7 @@ use std::pin::Pin; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{Error}; use futures::*; use crate::backup::ChunkInfo; diff --git a/src/client/pipe_to_stream.rs b/src/client/pipe_to_stream.rs index f6a6a4be..63a2d818 100644 --- a/src/client/pipe_to_stream.rs +++ b/src/client/pipe_to_stream.rs @@ -6,7 +6,7 @@ use std::pin::Pin; use std::task::{Context, Poll}; use bytes::Bytes; -use failure::*; +use anyhow::{format_err, Error}; use futures::{ready, Future}; use h2::SendStream; diff --git a/src/client/pxar_backup_stream.rs b/src/client/pxar_backup_stream.rs index 80ba52f0..0c7659bc 100644 --- a/src/client/pxar_backup_stream.rs +++ b/src/client/pxar_backup_stream.rs @@ -7,7 +7,7 @@ use std::sync::{Arc, Mutex}; use std::task::{Context, Poll}; use std::thread; -use failure::*; +use anyhow::{format_err, Error}; use futures::stream::Stream; use nix::fcntl::OFlag; diff --git a/src/client/pxar_decode_writer.rs b/src/client/pxar_decode_writer.rs index 73b88137..5072ff10 100644 --- a/src/client/pxar_decode_writer.rs +++ b/src/client/pxar_decode_writer.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::thread; use std::os::unix::io::FromRawFd; diff --git a/src/client/remote_chunk_reader.rs b/src/client/remote_chunk_reader.rs index d997d350..3a6cb255 100644 --- a/src/client/remote_chunk_reader.rs +++ b/src/client/remote_chunk_reader.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::sync::Arc; -use failure::*; +use anyhow::{Error}; use super::BackupReader; use crate::backup::{ReadChunk, DataBlob, CryptConfig}; diff --git a/src/client/task_log.rs b/src/client/task_log.rs index 838e81b4..4db2a8e0 100644 --- a/src/client/task_log.rs +++ b/src/client/task_log.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use serde_json::json; use super::HttpClient; diff --git a/src/config.rs b/src/config.rs index f7d904fa..48d1e8e9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -3,7 +3,7 @@ //! This library contains helper to read, parse and write the //! configuration files. -use failure::*; +use anyhow::{bail, format_err, Error}; use std::path::PathBuf; use nix::sys::stat::Mode; use openssl::rsa::{Rsa}; diff --git a/src/config/acl.rs b/src/config/acl.rs index adf1b9a6..b3c783e8 100644 --- a/src/config/acl.rs +++ b/src/config/acl.rs @@ -3,7 +3,7 @@ use std::collections::{HashMap, HashSet, BTreeMap, BTreeSet}; use std::path::{PathBuf, Path}; use std::sync::{Arc, RwLock}; -use failure::*; +use anyhow::{bail, Error}; use lazy_static::lazy_static; @@ -520,7 +520,7 @@ pub fn save_config(acl: &AclTree) -> Result<(), Error> { #[cfg(test)] mod test { - use failure::*; + use anyhow::{Error}; use super::AclTree; fn check_roles( diff --git a/src/config/cached_user_info.rs b/src/config/cached_user_info.rs index 15520f78..342af145 100644 --- a/src/config/cached_user_info.rs +++ b/src/config/cached_user_info.rs @@ -2,7 +2,7 @@ use std::sync::Arc; -use failure::*; +use anyhow::{Error}; use proxmox::api::section_config::SectionConfigData; use proxmox::api::UserInformation; diff --git a/src/config/datastore.rs b/src/config/datastore.rs index d3dad4db..3171d52d 100644 --- a/src/config/datastore.rs +++ b/src/config/datastore.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use lazy_static::lazy_static; use std::collections::HashMap; use serde::{Serialize, Deserialize}; diff --git a/src/config/remote.rs b/src/config/remote.rs index bb9f87d2..62c45ad3 100644 --- a/src/config/remote.rs +++ b/src/config/remote.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use lazy_static::lazy_static; use std::collections::HashMap; use serde::{Serialize, Deserialize}; diff --git a/src/config/user.rs b/src/config/user.rs index fc74ed94..81323959 100644 --- a/src/config/user.rs +++ b/src/config/user.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::sync::{Arc, RwLock}; -use failure::*; +use anyhow::{bail, Error}; use lazy_static::lazy_static; use serde::{Serialize, Deserialize}; use serde_json::json; diff --git a/src/pxar/catalog.rs b/src/pxar/catalog.rs index e56b3c4a..c2088af2 100644 --- a/src/pxar/catalog.rs +++ b/src/pxar/catalog.rs @@ -3,7 +3,7 @@ //! A file list catalog simply store a directory tree. Such catalogs //! may be used as index to do a fast search for files. -use failure::*; +use anyhow::{Error}; use std::ffi::CStr; pub trait BackupCatalogWriter { diff --git a/src/pxar/decoder.rs b/src/pxar/decoder.rs index 023be6da..2512adaf 100644 --- a/src/pxar/decoder.rs +++ b/src/pxar/decoder.rs @@ -8,7 +8,7 @@ use std::io::{Read, Seek, SeekFrom}; use std::path::{Path, PathBuf}; use std::os::unix::ffi::OsStrExt; -use failure::*; +use anyhow::{bail, format_err, Error}; use libc; use super::binary_search_tree::search_binary_tree_by; diff --git a/src/pxar/dir_stack.rs b/src/pxar/dir_stack.rs index 34d52bdf..9874ea81 100644 --- a/src/pxar/dir_stack.rs +++ b/src/pxar/dir_stack.rs @@ -2,7 +2,7 @@ use std::ffi::{OsStr, OsString}; use std::os::unix::io::{AsRawFd, RawFd}; use std::path::PathBuf; -use failure::{format_err, Error}; +use anyhow::{format_err, Error}; use nix::errno::Errno; use nix::fcntl::OFlag; use nix::sys::stat::Mode; diff --git a/src/pxar/encoder.rs b/src/pxar/encoder.rs index 6559a551..902248ae 100644 --- a/src/pxar/encoder.rs +++ b/src/pxar/encoder.rs @@ -10,7 +10,7 @@ use std::os::unix::io::RawFd; use std::path::{Path, PathBuf}; use endian_trait::Endian; -use failure::*; +use anyhow::{bail, format_err, Error}; use nix::errno::Errno; use nix::fcntl::OFlag; use nix::sys::stat::FileStat; diff --git a/src/pxar/format_definition.rs b/src/pxar/format_definition.rs index 75c2edcf..02ea421f 100644 --- a/src/pxar/format_definition.rs +++ b/src/pxar/format_definition.rs @@ -7,7 +7,7 @@ use std::cmp::Ordering; use endian_trait::Endian; -use failure::{bail, Error}; +use anyhow::{bail, Error}; use siphasher::sip::SipHasher24; diff --git a/src/pxar/fuse.rs b/src/pxar/fuse.rs index d8b53e0a..74108d97 100644 --- a/src/pxar/fuse.rs +++ b/src/pxar/fuse.rs @@ -11,7 +11,7 @@ use std::os::unix::ffi::OsStrExt; use std::path::Path; use std::sync::Mutex; -use failure::{bail, format_err, Error}; +use anyhow::{bail, format_err, Error}; use libc; use libc::{c_char, c_int, c_void, size_t}; diff --git a/src/pxar/match_pattern.rs b/src/pxar/match_pattern.rs index e14036b3..9b979669 100644 --- a/src/pxar/match_pattern.rs +++ b/src/pxar/match_pattern.rs @@ -10,7 +10,7 @@ use std::fs::File; use std::io::Read; use std::os::unix::io::{FromRawFd, RawFd}; -use failure::{bail, Error}; +use anyhow::{bail, Error}; use libc::{c_char, c_int}; use nix::errno::Errno; use nix::fcntl; @@ -44,7 +44,7 @@ pub enum MatchType { /// ``` /// # use std::ffi::CString; /// # use self::proxmox_backup::pxar::{MatchPattern, MatchType}; -/// # fn main() -> Result<(), failure::Error> { +/// # fn main() -> Result<(), anyhow::Error> { /// let filename = CString::new("some.conf")?; /// let is_dir = false; /// @@ -223,7 +223,7 @@ impl<'a> MatchPatternSlice<'a> { /// original pattern. /// ``` /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType}; - /// # fn main() -> Result<(), failure::Error> { + /// # fn main() -> Result<(), anyhow::Error> { /// let pattern = MatchPattern::from_line(b"some/match/pattern/")?.unwrap(); /// let slice = pattern.as_slice(); /// let front = slice.get_front_pattern(); @@ -246,7 +246,7 @@ impl<'a> MatchPatternSlice<'a> { /// If no slash is encountered, the `MatchPatternSlice` will be empty. /// ``` /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType}; - /// # fn main() -> Result<(), failure::Error> { + /// # fn main() -> Result<(), anyhow::Error> { /// let pattern = MatchPattern::from_line(b"some/match/pattern/")?.unwrap(); /// let slice = pattern.as_slice(); /// let rest = slice.get_rest_pattern(); @@ -379,7 +379,7 @@ impl<'a> MatchPatternSlice<'a> { /// ``` /// # use std::ffi::CString; /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType}; - /// # fn main() -> Result<(), failure::Error> { + /// # fn main() -> Result<(), anyhow::Error> { /// let patterns = vec![ /// MatchPattern::from_line(b"some/match/pattern/")?.unwrap(), /// MatchPattern::from_line(b"to_match/")?.unwrap() @@ -454,7 +454,7 @@ impl<'a> MatchPatternSlice<'a> { /// ``` /// # use std::ffi::CString; /// # use self::proxmox_backup::pxar::{MatchPattern, MatchPatternSlice, MatchType}; - /// # fn main() -> Result<(), failure::Error> { + /// # fn main() -> Result<(), anyhow::Error> { /// let patterns = vec![ /// MatchPattern::from_line(b"some/match/pattern/")?.unwrap(), /// MatchPattern::from_line(b"to_match/")?.unwrap() diff --git a/src/pxar/sequential_decoder.rs b/src/pxar/sequential_decoder.rs index 78d8f3e4..e17fa826 100644 --- a/src/pxar/sequential_decoder.rs +++ b/src/pxar/sequential_decoder.rs @@ -11,7 +11,7 @@ use std::os::unix::io::RawFd; use std::path::{Path, PathBuf}; use endian_trait::Endian; -use failure::{bail, format_err, Error}; +use anyhow::{bail, format_err, Error}; use nix::errno::Errno; use nix::fcntl::OFlag; use nix::sys::stat::Mode; diff --git a/src/server/command_socket.rs b/src/server/command_socket.rs index 6baefe19..8e2d3f64 100644 --- a/src/server/command_socket.rs +++ b/src/server/command_socket.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; diff --git a/src/server/formatter.rs b/src/server/formatter.rs index d8cfc1b3..47b9b998 100644 --- a/src/server/formatter.rs +++ b/src/server/formatter.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::{json, Value}; use hyper::{Body, Response, StatusCode}; diff --git a/src/server/h2service.rs b/src/server/h2service.rs index 8682dc8d..9689b282 100644 --- a/src/server/h2service.rs +++ b/src/server/h2service.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::collections::HashMap; use std::sync::Arc; diff --git a/src/server/rest.rs b/src/server/rest.rs index 64a1bf6e..27ac93f2 100644 --- a/src/server/rest.rs +++ b/src/server/rest.rs @@ -6,7 +6,7 @@ use std::pin::Pin; use std::sync::Arc; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::future::{self, FutureExt, TryFutureExt}; use futures::stream::TryStreamExt; use hyper::header; diff --git a/src/server/state.rs b/src/server/state.rs index 251931e3..41e910dd 100644 --- a/src/server/state.rs +++ b/src/server/state.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use lazy_static::lazy_static; use std::sync::Mutex; diff --git a/src/server/upid.rs b/src/server/upid.rs index 6dc68fcb..fc837207 100644 --- a/src/server/upid.rs +++ b/src/server/upid.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use lazy_static::lazy_static; use regex::Regex; use chrono::Local; diff --git a/src/server/worker_task.rs b/src/server/worker_task.rs index eb012f1e..aa8f1bf3 100644 --- a/src/server/worker_task.rs +++ b/src/server/worker_task.rs @@ -6,7 +6,7 @@ use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::{Arc, Mutex}; use chrono::Local; -use failure::*; +use anyhow::{bail, format_err, Error}; use futures::*; use lazy_static::lazy_static; use nix::unistd::Pid; diff --git a/src/tools.rs b/src/tools.rs index c3c4541d..fa93796b 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -11,7 +11,7 @@ use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; use std::path::Path; use std::time::Duration; -use failure::*; +use anyhow::{bail, format_err, Error}; use serde_json::Value; use openssl::hash::{hash, DigestBytes, MessageDigest}; use percent_encoding::AsciiSet; diff --git a/src/tools/broadcast_future.rs b/src/tools/broadcast_future.rs index 8a15bd65..da627d01 100644 --- a/src/tools/broadcast_future.rs +++ b/src/tools/broadcast_future.rs @@ -2,7 +2,7 @@ use std::future::Future; use std::pin::Pin; use std::sync::{Arc, Mutex}; -use failure::*; +use anyhow::{format_err, Error}; use futures::future::{FutureExt, TryFutureExt}; use tokio::sync::oneshot; diff --git a/src/tools/daemon.rs b/src/tools/daemon.rs index 7f367fe7..10921000 100644 --- a/src/tools/daemon.rs +++ b/src/tools/daemon.rs @@ -9,7 +9,7 @@ use std::panic::UnwindSafe; use std::pin::Pin; use std::task::{Context, Poll}; -use failure::*; +use anyhow::{bail, format_err, Error}; use proxmox::tools::io::{ReadExt, WriteExt}; diff --git a/src/tools/file_logger.rs b/src/tools/file_logger.rs index 0861724d..c2c5aab7 100644 --- a/src/tools/file_logger.rs +++ b/src/tools/file_logger.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use chrono::{TimeZone, Local}; use std::io::Write; @@ -10,7 +10,7 @@ use std::io::Write; /// #### Example: /// ``` /// #[macro_use] extern crate proxmox_backup; -/// # use failure::*; +/// # use anyhow::{bail, format_err, Error}; /// use proxmox_backup::tools::FileLogger; /// /// # std::fs::remove_file("test.log"); diff --git a/src/tools/format.rs b/src/tools/format.rs index a5bd0c83..23019908 100644 --- a/src/tools/format.rs +++ b/src/tools/format.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use serde_json::Value; use chrono::{Local, TimeZone}; diff --git a/src/tools/fs.rs b/src/tools/fs.rs index 178105a8..0f7e35ed 100644 --- a/src/tools/fs.rs +++ b/src/tools/fs.rs @@ -4,7 +4,7 @@ use std::borrow::{Borrow, BorrowMut}; use std::ops::{Deref, DerefMut}; use std::os::unix::io::{AsRawFd, RawFd}; -use failure::*; +use anyhow::{format_err, Error}; use nix::dir; use nix::dir::Dir; use regex::Regex; @@ -73,7 +73,7 @@ impl ReadDirEntry { } // Since Tied implements Deref to U, a Tied already implements Iterator. -// This is simply a wrapper with a shorter type name mapping nix::Error to failure::Error. +// This is simply a wrapper with a shorter type name mapping nix::Error to anyhow::Error. /// Wrapper over a pair of `nix::dir::Dir` and `nix::dir::Iter`, returned by `read_subdir()`. pub struct ReadDir { iter: Tied> + Send>, diff --git a/src/tools/lru_cache.rs b/src/tools/lru_cache.rs index 1a73a59a..502f08f1 100644 --- a/src/tools/lru_cache.rs +++ b/src/tools/lru_cache.rs @@ -14,7 +14,7 @@ pub trait Cacher { /// Whenever a cache miss occurs, the fetch method provides a corresponding value. /// If no value can be obtained for the given key, None is returned, the cache is /// not updated in that case. - fn fetch(&mut self, key: K) -> Result, failure::Error>; + fn fetch(&mut self, key: K) -> Result, anyhow::Error>; } /// Node of the doubly linked list storing key and value @@ -46,11 +46,11 @@ impl CacheNode { /// # Examples: /// ``` /// # use self::proxmox_backup::tools::lru_cache::{Cacher, LruCache}; -/// # fn main() -> Result<(), failure::Error> { +/// # fn main() -> Result<(), anyhow::Error> { /// struct LruCacher {}; /// /// impl Cacher for LruCacher { -/// fn fetch(&mut self, key: u64) -> Result, failure::Error> { +/// fn fetch(&mut self, key: u64) -> Result, anyhow::Error> { /// Ok(Some(key)) /// } /// } @@ -189,7 +189,7 @@ impl LruCache { /// value. /// If fetch returns a value, it is inserted as the most recently used entry /// in the cache. - pub fn access<'a>(&'a mut self, key: K, cacher: &mut dyn Cacher) -> Result, failure::Error> { + pub fn access<'a>(&'a mut self, key: K, cacher: &mut dyn Cacher) -> Result, anyhow::Error> { match self.map.entry(key) { Entry::Occupied(mut o) => { // Cache hit, birng node to front of list diff --git a/src/tools/process_locker.rs b/src/tools/process_locker.rs index f0ccc76d..7a73cebe 100644 --- a/src/tools/process_locker.rs +++ b/src/tools/process_locker.rs @@ -7,7 +7,7 @@ //! the timestamp for the oldest open lock with //! `oldest_shared_lock()`. -use failure::*; +use anyhow::{bail, Error}; use std::sync::{Arc, Mutex}; use std::os::unix::io::AsRawFd; diff --git a/src/tools/std_channel_writer.rs b/src/tools/std_channel_writer.rs index 8208b72b..d2f6444e 100644 --- a/src/tools/std_channel_writer.rs +++ b/src/tools/std_channel_writer.rs @@ -1,7 +1,7 @@ use std::io::Write; use std::sync::mpsc::SyncSender; -use failure::*; +use anyhow::{Error}; /// Wrapper around SyncSender, which implements Write /// diff --git a/src/tools/ticket.rs b/src/tools/ticket.rs index 8a8ac356..b3658496 100644 --- a/src/tools/ticket.rs +++ b/src/tools/ticket.rs @@ -1,6 +1,6 @@ //! Generate and verify Authentification tickets -use failure::*; +use anyhow::{bail, Error}; use base64; use openssl::pkey::{PKey, Public, Private}; diff --git a/src/tools/wrapped_reader_stream.rs b/src/tools/wrapped_reader_stream.rs index 267a0bad..cb87e2b0 100644 --- a/src/tools/wrapped_reader_stream.rs +++ b/src/tools/wrapped_reader_stream.rs @@ -61,7 +61,7 @@ impl Stream for StdChannelStream { mod test { use std::io; - use failure::Error; + use anyhow::Error; use futures::stream::TryStreamExt; #[test] diff --git a/tests/blob_writer.rs b/tests/blob_writer.rs index 5ae12394..e2828ab9 100644 --- a/tests/blob_writer.rs +++ b/tests/blob_writer.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; use std::sync::Arc; use std::io::Cursor; use std::io::{Read, Write, Seek, SeekFrom }; diff --git a/tests/catar.rs b/tests/catar.rs index ed3e6702..c3fe4027 100644 --- a/tests/catar.rs +++ b/tests/catar.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::process::Command; use proxmox_backup::pxar::*; diff --git a/tests/prune.rs b/tests/prune.rs index 33e62404..a0123ac6 100644 --- a/tests/prune.rs +++ b/tests/prune.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{Error}; use std::path::PathBuf; use proxmox_backup::backup::*; diff --git a/tests/verify-api.rs b/tests/verify-api.rs index 607cd1f2..d919f154 100644 --- a/tests/verify-api.rs +++ b/tests/verify-api.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, format_err, Error}; use proxmox_backup::api2; use proxmox::api::*; diff --git a/tests/worker-task-abort.rs b/tests/worker-task-abort.rs index 6ebb402e..519333b1 100644 --- a/tests/worker-task-abort.rs +++ b/tests/worker-task-abort.rs @@ -1,4 +1,4 @@ -use failure::*; +use anyhow::{bail, Error}; #[macro_use] extern crate proxmox_backup;