]>
git.proxmox.com Git - proxmox-backup.git/log
Wolfgang Bumiller [Thu, 21 Nov 2019 13:36:28 +0000 (14:36 +0100)]
api/compat: drop more compat imports from api_schema.rs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:18:41 +0000 (14:18 +0100)]
api/compat: drop api_handler submodule
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:17:36 +0000 (14:17 +0100)]
api/comapt: drop schema submodule
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:16:37 +0000 (14:16 +0100)]
api: BoxFut -> ApiFuture
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:14:54 +0000 (14:14 +0100)]
move api schema into proxmox::api crate
And leave some compat imports in api_schema.rs to get it to
build with minimal changes.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 21 Nov 2019 12:10:49 +0000 (13:10 +0100)]
sort all property lookup tables
Required, because we use binary sreach to find items.
Dietmar Maurer [Thu, 21 Nov 2019 08:36:41 +0000 (09:36 +0100)]
use const api definitions
Dietmar Maurer [Sun, 17 Nov 2019 16:12:41 +0000 (17:12 +0100)]
add pxar.1 manual page
Dietmar Maurer [Sun, 17 Nov 2019 11:53:08 +0000 (12:53 +0100)]
docs/administration-guide.rs: add 'Backup Content' section.
Dietmar Maurer [Sun, 17 Nov 2019 08:28:38 +0000 (09:28 +0100)]
docs/administration-guide.rst: add section termonology
Dietmar Maurer [Sun, 17 Nov 2019 08:09:51 +0000 (09:09 +0100)]
docs/administration-guide.rs: move sysadmin.rst to the end
Dietmar Maurer [Sun, 17 Nov 2019 07:47:22 +0000 (08:47 +0100)]
docs/introduction.rst: improve section Architecture
Dietmar Maurer [Sat, 16 Nov 2019 10:50:56 +0000 (11:50 +0100)]
docs/introduction.rst: add todo items
Dietmar Maurer [Sat, 16 Nov 2019 10:43:14 +0000 (11:43 +0100)]
docs: improve introduction.rst
Dietmar Maurer [Sat, 16 Nov 2019 10:16:04 +0000 (11:16 +0100)]
docs: enable sphinx todo items
Dietmar Maurer [Fri, 15 Nov 2019 12:24:45 +0000 (13:24 +0100)]
docs: add sysadmin.rst, cleanups
Dietmar Maurer [Fri, 15 Nov 2019 11:34:50 +0000 (12:34 +0100)]
docs: rename deployment-guide.rst -> administration-guide.rst
and join with admin-guide.rst
Dietmar Maurer [Thu, 14 Nov 2019 10:14:09 +0000 (11:14 +0100)]
docs/conf.py: add exclude_pattern package-repositories.rst
The file is inlcuded with 'include' directive. Exclude it to avoid
avoid warning about duplicate label definition.
Wolfgang Bumiller [Thu, 14 Nov 2019 10:20:05 +0000 (11:20 +0100)]
drop unused mio crate
we still depend on it through other crates, but we don't use
it directly
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Nov 2019 10:19:43 +0000 (11:19 +0100)]
drop md5 crate dependency
we already depend on openssl which also provides md5
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Nov 2019 09:18:31 +0000 (10:18 +0100)]
drop uuid crate dependency
proxmox::tools now has a Uuid module using the native
libuuid.
Adds build dependency: libuuid1 (which is a Pre-Depends of
util-linux, so always installed anyway).
Drops uuid + 16 more crate dependencies.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 13 Nov 2019 12:10:56 +0000 (13:10 +0100)]
docs: add more ...
Christian Ebner [Tue, 12 Nov 2019 15:34:33 +0000 (16:34 +0100)]
catalog: fix issue with DirEntry start
start has to be the parent start - offset
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Tue, 12 Nov 2019 12:23:40 +0000 (13:23 +0100)]
src/backup/catalog.rs: add some docs
Dietmar Maurer [Tue, 12 Nov 2019 11:54:06 +0000 (12:54 +0100)]
src/backup/catalog.rs - CatalogReader: verify magic number
Dietmar Maurer [Tue, 12 Nov 2019 11:47:21 +0000 (12:47 +0100)]
src/backup/catalog.rs - CatalogReader::dump(): use root()
Dietmar Maurer [Tue, 12 Nov 2019 10:21:19 +0000 (11:21 +0100)]
src/backup/catalog.rs - Direntry::parse: abort if callback return false
Dietmar Maurer [Tue, 12 Nov 2019 10:15:05 +0000 (11:15 +0100)]
src/backup/catalog.rs: impl read_dir() and lookup(), refactor common code
Dietmar Maurer [Tue, 12 Nov 2019 09:14:33 +0000 (10:14 +0100)]
src/backup/catalog.rs: move CatalogEntryType from src/pxar/catalog.rs
Dietmar Maurer [Tue, 12 Nov 2019 08:25:39 +0000 (09:25 +0100)]
src/backup/catalog.rs - DirEntry: factor out name attribute
And avoid allocations inside parse().
Christian Ebner [Mon, 11 Nov 2019 13:19:54 +0000 (14:19 +0100)]
catalog: impl std::fmt::Display trait for CatalogEntryType
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Mon, 11 Nov 2019 18:54:15 +0000 (19:54 +0100)]
debian/control: build-depend on latexmk
Dietmar Maurer [Mon, 11 Nov 2019 18:45:44 +0000 (19:45 +0100)]
add license for docs (GFDL)
Dietmar Maurer [Mon, 11 Nov 2019 18:21:27 +0000 (19:21 +0100)]
docs/introduction.rst: Add License Section (AGPL3)
Dietmar Maurer [Mon, 11 Nov 2019 18:07:03 +0000 (19:07 +0100)]
docs/introduction.rst: add feature Encryption, replace LZ4 with Zstandard
Dietmar Maurer [Mon, 11 Nov 2019 12:26:08 +0000 (13:26 +0100)]
introduction.rst: Add short Architecture section
Dietmar Maurer [Mon, 11 Nov 2019 11:28:04 +0000 (12:28 +0100)]
package-repositories.rst: new file
Dietmar Maurer [Mon, 11 Nov 2019 08:14:18 +0000 (09:14 +0100)]
add manual page for proxmox-backup-manager
Dietmar Maurer [Mon, 11 Nov 2019 07:35:33 +0000 (08:35 +0100)]
debian packages: split package into client/server
Dietmar Maurer [Sun, 10 Nov 2019 10:38:31 +0000 (11:38 +0100)]
src/backup/catalog.rs: clenup - use single impl block
Dietmar Maurer [Sun, 10 Nov 2019 10:37:06 +0000 (11:37 +0100)]
src/backup/catalog.rs: remove unused code
Dietmar Maurer [Sun, 10 Nov 2019 10:34:55 +0000 (11:34 +0100)]
src/backup/catalog.rs: write MAGIC at start of file
Dietmar Maurer [Sat, 9 Nov 2019 13:37:33 +0000 (14:37 +0100)]
src/backup/catalog.rs: new parse() helper
Dietmar Maurer [Sat, 9 Nov 2019 12:21:20 +0000 (13:21 +0100)]
src/backup/catalog.rs - dump_dir: make sure we parsed the whole data block
Dietmar Maurer [Sat, 9 Nov 2019 12:07:47 +0000 (13:07 +0100)]
src/backup/catalog.rs: store u64 compressed
This way catalogs get about 1/3 smaller.
Dietmar Maurer [Fri, 8 Nov 2019 12:13:39 +0000 (13:13 +0100)]
src/client/backup_reader.rs: factor out download_blob() helper
Dietmar Maurer [Fri, 8 Nov 2019 11:43:56 +0000 (12:43 +0100)]
src/client/backup_reader.rs: factor out download_fixed_index() helper
Dietmar Maurer [Fri, 8 Nov 2019 11:40:10 +0000 (12:40 +0100)]
src/client/backup_reader.rs: factor out download_dynamic_index() helper
Dietmar Maurer [Fri, 8 Nov 2019 10:50:13 +0000 (11:50 +0100)]
update toolchain to stable
Dietmar Maurer [Fri, 8 Nov 2019 09:41:00 +0000 (10:41 +0100)]
renamed: src/backup/catalog_blob.rs -> src/backup/catalog.rs
Dietmar Maurer [Fri, 8 Nov 2019 09:35:48 +0000 (10:35 +0100)]
change catalog format, use dynamic index to store catalog.
In order to remove size restriction of a single blob.
Dietmar Maurer [Fri, 8 Nov 2019 09:34:16 +0000 (10:34 +0100)]
src/client/backup_writer.rs: rename force_close to cancel
And do not consume self.
Dietmar Maurer [Fri, 8 Nov 2019 09:28:14 +0000 (10:28 +0100)]
do no restrict index names too much
Christian Ebner [Tue, 5 Nov 2019 16:11:04 +0000 (17:11 +0100)]
src/pxar/decoder.rs: impl lookup for `Decoder`
Allows to lookup an entry in a directory based on the provided `DirectoryEntry`.
This is needed to navigate the filesystem based on `DirectoryEntry`s and similar
to the find_goodbye_entry() function in src/pxar/fuse.rs
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 5 Nov 2019 16:02:53 +0000 (17:02 +0100)]
src/pxar/decoder.rs: fix wrong filename check for Decoder::restore()
As it turns out the original implementation was correct and the start in
`DirectoryEntry` points to the `PxarEntry` and not as wrongly stated to the
filename.
This reverts the incorrect code and adds comments to the fields clarifying this.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 5 Nov 2019 12:45:04 +0000 (13:45 +0100)]
src/pxar/decoder.rs: allow to pass match pattern to restore
In order to partially restore the archive starting from the directory provided as
parameter.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 5 Nov 2019 12:45:03 +0000 (13:45 +0100)]
src/pxar/decoder.rs: fix issue with restore
`Decoder::restore()` calls the `SequentialDecoder::restore()` which expects to
encounter a `PxarEntry` at first. But the start of `DirectoryEntry` points to the
filename (except for the root dir), so skip over it.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 4 Nov 2019 09:48:09 +0000 (10:48 +0100)]
src/pxar/fuse.rs: refactor Iterator: use find() instead of position()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 30 Oct 2019 13:38:05 +0000 (14:38 +0100)]
catalog: store current writer position in CatalogBlobWriter
Counts the bytes written by the CatalogBlobWriter in order to obtain the
stream position, needed to get offset to reference catalog items.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Sat, 26 Oct 2019 09:36:01 +0000 (11:36 +0200)]
avoid some clippy warnings
Dietmar Maurer [Fri, 25 Oct 2019 16:44:51 +0000 (18:44 +0200)]
avoid some clippy warnings
Dietmar Maurer [Fri, 25 Oct 2019 16:22:19 +0000 (18:22 +0200)]
src/pxar/binary_search_tree.rs: allow(clippy::many_single_char_names)
Dietmar Maurer [Fri, 25 Oct 2019 16:04:37 +0000 (18:04 +0200)]
avoid some clippy warnings
Dietmar Maurer [Fri, 25 Oct 2019 16:03:55 +0000 (18:03 +0200)]
allow(clippy::cast_ptr_alignment)
Dietmar Maurer [Fri, 25 Oct 2019 15:22:41 +0000 (17:22 +0200)]
src/backup/dynamic_index.rs: use write_all()
Christian Ebner [Thu, 17 Oct 2019 15:12:22 +0000 (17:12 +0200)]
pxar: decoder: cleanup un-needed Decoder::get_dir()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 17 Oct 2019 15:04:26 +0000 (17:04 +0200)]
pxar: fuse: optimize fuse readdir callback
The expensive call to Decoder::read_directory_entry() can be omitted as
Decoder::attributes() returns all the information the fuse response needs.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Wed, 23 Oct 2019 05:55:56 +0000 (07:55 +0200)]
src/pxar/encoder.rs: avoid duplicate check for MAX_DIRECTORY_ENTRIES
Simply by reordering code.
Christian Ebner [Tue, 22 Oct 2019 13:07:51 +0000 (15:07 +0200)]
pxar: add functionality to pass exclude MatchPatterns on create
This exposes the option to pass a list of exclude MatchPattern via the
'--exclude' option.
The list is encoded as file '.pxarexclude-cli' in the archives root directory.
If such a file is present in the filesystem, it is skipped and not included in
the archive in order to avoid conflicting information.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 22 Oct 2019 13:07:50 +0000 (15:07 +0200)]
pxar: encoder: add encode_pxar_exclude_cli() function.
This provides the functionality needed to encode MatchPatterns passed on the cli
in the root directory.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Wed, 23 Oct 2019 05:29:02 +0000 (07:29 +0200)]
pxar: simplify MatchPattern::to_bytes
Christian Ebner [Tue, 22 Oct 2019 13:07:49 +0000 (15:07 +0200)]
pxar: Implement to_bytes() for MatchPattern in order to write them to file.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Thu, 17 Oct 2019 08:28:21 +0000 (10:28 +0200)]
src/bin/proxmox-backup-client.rs: fix parameters for get_encryption_key_password
Christian Ebner [Wed, 16 Oct 2019 16:06:05 +0000 (18:06 +0200)]
src/pxar/encoder.rs: include .pxarexclude files into the catalog
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 16 Oct 2019 15:13:58 +0000 (17:13 +0200)]
pxar: fuse: include nsec information in stat
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Wed, 16 Oct 2019 11:23:52 +0000 (13:23 +0200)]
load_and_decrtypt_key: allow function closures to readf passphrase
Dietmar Maurer [Mon, 14 Oct 2019 10:28:27 +0000 (12:28 +0200)]
src/backup/manifest.rs: fix property names (use '-' instead of '_')
Dietmar Maurer [Mon, 14 Oct 2019 08:58:26 +0000 (10:58 +0200)]
src/backup/data_blob.rs: define create_zero_chunk as member function
and rename it to build_zero_chunk()
Dietmar Maurer [Mon, 14 Oct 2019 08:44:46 +0000 (10:44 +0200)]
src/backup/data_blob.rs: add create_zero_chunk() helper
Dietmar Maurer [Sun, 13 Oct 2019 08:09:12 +0000 (10:09 +0200)]
src/backup/manifest.rs: add verify_file
Dietmar Maurer [Sun, 13 Oct 2019 07:39:21 +0000 (09:39 +0200)]
cleanup
Dietmar Maurer [Sun, 13 Oct 2019 06:39:49 +0000 (08:39 +0200)]
src/backup/manifest.rs: improve parser (try_from)
Dietmar Maurer [Sat, 12 Oct 2019 15:58:08 +0000 (17:58 +0200)]
src/backup/manifest.rs: new class to generate/parse index.json
Dietmar Maurer [Sat, 12 Oct 2019 13:53:27 +0000 (15:53 +0200)]
rename INDEX_BLOB_NAME to MANIFEST_BLOB_NAME
Dietmar Maurer [Sat, 12 Oct 2019 13:50:26 +0000 (15:50 +0200)]
src/client/backup_reader.rs: add download_manifest
Also add crypt_config as member variable.
Dietmar Maurer [Sat, 12 Oct 2019 12:08:33 +0000 (14:08 +0200)]
set toolchain to beta
Dietmar Maurer [Sat, 12 Oct 2019 11:53:11 +0000 (13:53 +0200)]
src/client/backup_writer.rs: move BackupClient code into extra file
And rename it to BackupWriter.
Dietmar Maurer [Sat, 12 Oct 2019 11:26:47 +0000 (13:26 +0200)]
src/client/backup_reader.rs: add documentation
Dietmar Maurer [Sat, 12 Oct 2019 10:57:08 +0000 (12:57 +0200)]
src/client/backup_reader.rs: split BackupReader code into separate file
Dietmar Maurer [Tue, 8 Oct 2019 11:04:10 +0000 (13:04 +0200)]
src/bin/proxmox-backup-client.rs: pass verbose flag to dump_image
And print some useful status to stderr.
Dietmar Maurer [Mon, 7 Oct 2019 10:48:56 +0000 (12:48 +0200)]
fix typo in error message
Dietmar Maurer [Mon, 7 Oct 2019 10:24:06 +0000 (12:24 +0200)]
src/api2/reader.rs: use tokio::fs::read() to read file async
Dietmar Maurer [Mon, 7 Oct 2019 09:36:39 +0000 (11:36 +0200)]
src/backup/data_blob.rs: avoid Arc<CryptConfig>
use simple reference instead.
Dietmar Maurer [Sun, 6 Oct 2019 08:31:06 +0000 (10:31 +0200)]
remove DataChunk file format - use DataBlob instead
Dietmar Maurer [Sat, 5 Oct 2019 14:10:41 +0000 (16:10 +0200)]
cleanup: remove dead code
Dietmar Maurer [Sat, 5 Oct 2019 09:48:51 +0000 (11:48 +0200)]
src/bin/proxmox-backup-client.rs: cleanup restore
- write directly to /dev/stdout (instead of using stdout line writer)
- avoid BufferedFixedReader
Dietmar Maurer [Sat, 5 Oct 2019 09:45:20 +0000 (11:45 +0200)]
src/client/remote_chunk_reader.rs: pass reference to download_chunk
Make sure we do not move data around.
Dietmar Maurer [Sat, 5 Oct 2019 09:41:19 +0000 (11:41 +0200)]
src/api2/reader.rs - download_chunk: use blocking io
Turns out to be twice as fast as tokio async io...
Dietmar Maurer [Wed, 2 Oct 2019 08:47:20 +0000 (10:47 +0200)]
src/client/http_client.rs: store raw data/blob size in index.json
Dietmar Maurer [Sat, 28 Sep 2019 16:22:48 +0000 (18:22 +0200)]
src/client/http_client.rs: new helper send_upload_request()