]>
git.proxmox.com Git - proxmox-backup.git/log
Wolfgang Bumiller [Thu, 16 Jan 2020 10:39:44 +0000 (11:39 +0100)]
bump proxmox crate version
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 16 Jan 2020 09:45:46 +0000 (10:45 +0100)]
remove the rust-toolchain file
Dietmar Maurer [Thu, 16 Jan 2020 09:34:45 +0000 (10:34 +0100)]
set toolchain to system
Wolfgang Bumiller [Thu, 16 Jan 2020 09:20:41 +0000 (10:20 +0100)]
debian: bump dependency versions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 16 Jan 2020 07:58:54 +0000 (08:58 +0100)]
fix use of deprecated items
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 16 Jan 2020 07:51:52 +0000 (08:51 +0100)]
import ordering cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Christian Ebner [Wed, 15 Jan 2020 12:11:42 +0000 (13:11 +0100)]
pxar::fuse: remove readdir implementation
By not implementing readdir but only readdirplus, the FUSE_CAP_READDIRPLUS flag
is set while the FUSE_CAP_READDIRPLUS_AUTO flag is not set.
Thereby the kernel will issue only readdirplus calls.
Documentation at:
https://libfuse.github.io/doxygen/fuse-3_88_80_2include_2fuse__common_8h.html#
a9b90333ad08d0e1c2ed0134d9305ee87
As the expensive part for accessing and reading the attributes is seeking and
decoding each directory entry, it is usefull to force readdirplus calls.
By this a struct `EntryParam` is returned for each entry, therebye avoiding a
subsequent lookup call.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Wed, 15 Jan 2020 11:42:13 +0000 (12:42 +0100)]
src/bin/proxmox-backup-manager.rs: add completion function for update commands
Dietmar Maurer [Wed, 15 Jan 2020 11:27:05 +0000 (12:27 +0100)]
src/api2/config: check digest
Dietmar Maurer [Wed, 15 Jan 2020 10:57:12 +0000 (11:57 +0100)]
src/api2/config: correctly lock files
Oguz Bektas [Mon, 13 Jan 2020 16:03:26 +0000 (17:03 +0100)]
services: fix indentation
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Oguz Bektas [Mon, 13 Jan 2020 15:05:28 +0000 (16:05 +0100)]
tools: add read_and_verify_password helper
add a helper to perform some basic checks on password prompts.
- verification (asks for a 2nd time)
- check length
also use the new helper where password input in tty is taken to reduce
duplicate code.
this helper should be used when creating keys, changing passphrases etc.
note: this helper can be extended later on to provide better checks for
password strength.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Christian Ebner [Mon, 13 Jan 2020 11:48:07 +0000 (12:48 +0100)]
pxar::fuse: Avoid macro to generate filler function, use closure instead.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Tue, 14 Jan 2020 13:55:58 +0000 (14:55 +0100)]
src/api2/config: improve api schema by adding return type
Dietmar Maurer [Tue, 14 Jan 2020 13:47:26 +0000 (14:47 +0100)]
src/bin/proxmox-backup-manager.rs: add datastore update cli
Dietmar Maurer [Tue, 14 Jan 2020 13:45:56 +0000 (14:45 +0100)]
src/api2/config/datastore.rs: improve api, implement update and read
Dietmar Maurer [Tue, 14 Jan 2020 13:20:16 +0000 (14:20 +0100)]
src/api2/config/remotes.rs: improve api, implement update and read
Dietmar Maurer [Tue, 14 Jan 2020 13:19:22 +0000 (14:19 +0100)]
src/section_config.rs: add lookup_json() helper
Dietmar Maurer [Tue, 14 Jan 2020 12:20:13 +0000 (13:20 +0100)]
src/api2/config/remotes.rs: fix variable name -> s/remote/id/
Dietmar Maurer [Tue, 14 Jan 2020 11:57:03 +0000 (12:57 +0100)]
src/section_config.rs - convert_to_array: optionally add digest
datastore::config() -> also return digest
remotes::config() -> also return digest
Dietmar Maurer [Tue, 14 Jan 2020 11:02:25 +0000 (12:02 +0100)]
src/section_config.rs - write: improve error message
Dietmar Maurer [Tue, 14 Jan 2020 10:41:48 +0000 (11:41 +0100)]
src/section_config.rs: do not allow control characters
Dietmar Maurer [Tue, 14 Jan 2020 10:32:02 +0000 (11:32 +0100)]
src/api2/types.rs: also define PASSWORD_FORMAT and use it correctly
Dietmar Maurer [Tue, 14 Jan 2020 10:22:42 +0000 (11:22 +0100)]
src/api2/types.rs: define and use PASSWORD_REGEX
Dietmar Maurer [Mon, 13 Jan 2020 16:26:43 +0000 (17:26 +0100)]
src/api2/types.rs: add regression test for PROXMOX_USER_ID_SCHEMA
Dietmar Maurer [Mon, 13 Jan 2020 13:38:31 +0000 (14:38 +0100)]
src/api2/types.rs: fix regex patterns
Dietmar Maurer [Mon, 13 Jan 2020 13:17:22 +0000 (14:17 +0100)]
src/api2/types.rs: define PROXMOX_AUTH_REALM_SCHEMA and PROXMOX_USER_ID_SCHEMA
And try to use nbew schemas with config api...
Dietmar Maurer [Mon, 13 Jan 2020 12:09:54 +0000 (13:09 +0100)]
src/api2/types.rs: define HOSTNAME_FORMAT, DNS_NAME_FORMAT and DNS_NAME_OR_IP_FORMAT
Dietmar Maurer [Mon, 13 Jan 2020 11:14:14 +0000 (12:14 +0100)]
src/config/*: add #[serde(skip_serializing_if="Option::is_none")] to optinal comment
Dietmar Maurer [Mon, 13 Jan 2020 11:02:13 +0000 (12:02 +0100)]
src/api2/types.rs: define SINGLE_LINE_COMMENT_SCHEMA
Dietmar Maurer [Mon, 13 Jan 2020 10:47:07 +0000 (11:47 +0100)]
src/api2/types.rs: define REMOTE_ID_SCHEMA here
Christian Ebner [Fri, 10 Jan 2020 16:37:33 +0000 (17:37 +0100)]
pxar::fuse: impl readdirplus callback
readdirplus returns the entries together with their `EntryParam`, so subsequent
lookups for each of the entries are avoided.
In order to reduce code duplication, the code for filling the reply buffer is
moved into a macro.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Fri, 10 Jan 2020 16:37:32 +0000 (17:37 +0100)]
pxar::fuse: Get rid of broken cacheing
Remove the current caching of attrs and goodbye tables as it is broken anyway.
This will be replaced with a LRU cache.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Oguz Bektas [Fri, 10 Jan 2020 14:04:31 +0000 (15:04 +0100)]
fix typo for function name load_and_decrypt_key
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Dietmar Maurer [Sat, 11 Jan 2020 10:09:27 +0000 (11:09 +0100)]
src/section_config.rs: make set_data generic
Dietmar Maurer [Sat, 11 Jan 2020 09:42:09 +0000 (10:42 +0100)]
cleanup config api, add remotes config cli interface
Dietmar Maurer [Sat, 11 Jan 2020 08:18:42 +0000 (09:18 +0100)]
src/config/datastore.rs: define DataStoreConfig using api macro
Dietmar Maurer [Fri, 10 Jan 2020 18:25:26 +0000 (19:25 +0100)]
src/api2/config/remotes.rs: cleanup - avoid compiler warnings
Christian Ebner [Thu, 9 Jan 2020 17:11:53 +0000 (18:11 +0100)]
pxar::fuse: refactor HashMap to store child parent inode relation.
By moving the HashMap into `Context`, the use of lazy_static as well as the
additional Mutex can be avoided (`Context` is already guarded by a Mutex).
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 9 Jan 2020 15:26:33 +0000 (16:26 +0100)]
pxar::decoder::Decoder: include xattrs and payload size in `DirectoryEntry`.
By reading and including xattrs and payload size in struct `DirectoryEntry`,
the tuple of return types is avoided and the code is simpler.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Fri, 10 Jan 2020 11:50:06 +0000 (12:50 +0100)]
pxar: encoder: limit number of max entries held at once in memory during archive creation.
Limit the total number of entries and therefore the approximate memory
consumption instead of doing this on a per directory basis as it was previously.
This makes more sense as it limits not only the width but also the depth of the
directory tree.
Further, instead of hardcoding this value, allow to pass this information as
additional optional parameter 'entires-max'.
By this, creation of the archive with directories containing a large number of
entries is possible.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Fri, 10 Jan 2020 12:28:15 +0000 (13:28 +0100)]
src/api2/config/remotes.rs: new API to configure remotes
Dietmar Maurer [Fri, 10 Jan 2020 10:58:31 +0000 (11:58 +0100)]
src/bin/proxmox-backup-manager.rs: implement shell completion for remote datastore name
Dietmar Maurer [Fri, 10 Jan 2020 10:09:55 +0000 (11:09 +0100)]
rename src/api2/sync.rs -> src/api2/pull.rs
Use "pull" instead of "sync", because this also indicates a
direction (like "sync from").
Dietmar Maurer [Thu, 9 Jan 2020 16:35:44 +0000 (17:35 +0100)]
src/section_config.rs: implement generic lookup
Dietmar Maurer [Thu, 9 Jan 2020 13:52:29 +0000 (14:52 +0100)]
src/bin/proxmox-backup-manager.rs: implement cli sync command
Dietmar Maurer [Thu, 9 Jan 2020 13:49:40 +0000 (14:49 +0100)]
src/config/remotes.rs: implement SectionConfig for remote hosts
Christian Ebner [Wed, 8 Jan 2020 14:14:44 +0000 (15:14 +0100)]
pxar: encoder: warn on lacking read permissions instead of fail.
If during creation of the archive, files/dirs with lacking read permissions are
encountered, the user is displayed a warning and the archive is created without
including the file/dir.
Previously this resulted in an error and the archive creation failed.
In order to implement this also for the .pxarexclude files, the Error type of
MatchPattern::from_file() and MatchPattern::from_line() was adopted accordingly.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 8 Jan 2020 14:14:43 +0000 (15:14 +0100)]
pxar: encoder: fix incorrect goodbye table entries and update displayed path.
If nodes are excluded by feature flags, they must not appear in the goodbye table.
This is fixed by continuing with the next entry in the for loop.
Further the relative path buffer is now poped in order to correctly display the path.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 8 Jan 2020 09:46:56 +0000 (10:46 +0100)]
src/pxar/encoder.rs: avoid use of macro and initialize Vec with known capacity.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Thu, 9 Jan 2020 09:36:19 +0000 (10:36 +0100)]
src/api2/types.rs: fix SnapshotListItem schema definition
Thomas Lamprecht [Wed, 8 Jan 2020 14:12:37 +0000 (15:12 +0100)]
cargo: add alternative proxmox crate locations for convenience
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Wed, 8 Jan 2020 13:18:07 +0000 (14:18 +0100)]
bump proxmox dependency to 0.1.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 8 Jan 2020 12:53:19 +0000 (13:53 +0100)]
src/api2/sync.rs: implement remote sync
Dietmar Maurer [Wed, 8 Jan 2020 12:28:39 +0000 (13:28 +0100)]
TODO.rst: add another todo
Dietmar Maurer [Tue, 7 Jan 2020 14:18:36 +0000 (15:18 +0100)]
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_latest_snapshot()
Dietmar Maurer [Tue, 7 Jan 2020 14:07:57 +0000 (15:07 +0100)]
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_list_snapshots()
Dietmar Maurer [Tue, 7 Jan 2020 12:06:24 +0000 (13:06 +0100)]
src/bin/proxmox-backup-client.rs: use SnapshotListItem
Dietmar Maurer [Tue, 7 Jan 2020 11:52:15 +0000 (12:52 +0100)]
src/api2/types.rs: define and use new api type SnapshotListItem
Fabian Grünbichler [Tue, 7 Jan 2020 09:46:32 +0000 (10:46 +0100)]
d/control: bump proxmox build-dep
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Wolfgang Bumiller [Tue, 7 Jan 2020 09:11:35 +0000 (10:11 +0100)]
bump proxmox to 0.1.1 - packages are now available
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 6 Jan 2020 10:35:22 +0000 (11:35 +0100)]
src/backup/backup_info.rs: implement last_successful_backup()
A backup is considered successful if there is a manifest file.
Dietmar Maurer [Sun, 5 Jan 2020 15:20:26 +0000 (16:20 +0100)]
src/backup/manifest.rs: impl TryFrom DataBlob
Dietmar Maurer [Sun, 5 Jan 2020 14:15:12 +0000 (15:15 +0100)]
src/backup/datastore.rs: implement cleanup_backup_dir()
Dietmar Maurer [Sun, 5 Jan 2020 13:50:54 +0000 (14:50 +0100)]
src/client/backup_reader.rs: make compute_file_csum() public
Dietmar Maurer [Sun, 5 Jan 2020 09:31:19 +0000 (10:31 +0100)]
src/client/http_client.rs: allow access to AuthInfo fields
Dietmar Maurer [Sat, 4 Jan 2020 15:01:03 +0000 (16:01 +0100)]
Cargo.toml: set proxmox version 0.1.0 (latest packaged version)
Fabian Grünbichler [Fri, 3 Jan 2020 08:40:33 +0000 (09:40 +0100)]
cargo: switch to use packaged crates by default
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 13:10:18 +0000 (14:10 +0100)]
add README.rst
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 12:57:50 +0000 (13:57 +0100)]
reference valgrind_request via github
to allow using the same Cargo.toml file with a cargo config referencing
packaged crates instead of crates.io
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 10:57:28 +0000 (11:57 +0100)]
also bump version in Cargo.toml
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Thu, 2 Jan 2020 12:29:10 +0000 (13:29 +0100)]
src/backup/read_chunk.rs: add read_raw_chunk()
Allow to read chunk data without decoding.
Dietmar Maurer [Thu, 2 Jan 2020 12:26:28 +0000 (13:26 +0100)]
src/backup/chunk_store.rs: implement cond_touch_chunk()
This will be used by backup sync to test if a chunk already exists.
Dietmar Maurer [Thu, 2 Jan 2020 10:00:33 +0000 (11:00 +0100)]
src/backup/datastore.rs: new helper try_shared_chunk_store_lock()
Dietmar Maurer [Tue, 31 Dec 2019 14:23:41 +0000 (15:23 +0100)]
src/backup/manifest.rs: new helper archive_type()
Oguz Bektas [Tue, 31 Dec 2019 08:30:24 +0000 (09:30 +0100)]
add suggestions section on TODO
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Dietmar Maurer [Mon, 30 Dec 2019 10:50:24 +0000 (11:50 +0100)]
src/bin/proxmox-backup-proxy.rs: remove unused use clause
Dietmar Maurer [Mon, 30 Dec 2019 10:50:00 +0000 (11:50 +0100)]
TODO.rst: add TODO file
Dietmar Maurer [Mon, 30 Dec 2019 10:01:21 +0000 (11:01 +0100)]
bump version to 0.1.2
Dietmar Maurer [Fri, 27 Dec 2019 12:44:21 +0000 (13:44 +0100)]
src/bin/proxmox-backup-api.rs: create cert here
Dietmar Maurer [Fri, 27 Dec 2019 12:41:31 +0000 (13:41 +0100)]
src/client/http_client.rs - start_h2_connection: correctly return error during upgrade
Wolfgang Bumiller [Fri, 27 Dec 2019 11:50:27 +0000 (12:50 +0100)]
proxy/api: await running workers before shutdown
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 27 Dec 2019 10:51:22 +0000 (11:51 +0100)]
bump version to 0.1.1
Dietmar Maurer [Fri, 27 Dec 2019 10:20:36 +0000 (11:20 +0100)]
src/bin/proxmox-backup-proxy.rs: create self signed cert at startup.
Dietmar Maurer [Fri, 27 Dec 2019 09:17:06 +0000 (10:17 +0100)]
proxmox-backup-manager.rs: remove wrong fixme
Dietmar Maurer [Mon, 23 Dec 2019 12:06:43 +0000 (13:06 +0100)]
src/bin/proxmox-backup-manager.rs: impl. cert info
Fabian Grünbichler [Mon, 23 Dec 2019 06:52:40 +0000 (07:52 +0100)]
packaging: fix docs install path
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Sun, 22 Dec 2019 16:35:06 +0000 (17:35 +0100)]
src/bin/proxmox-backup-manager.rs: add cli to generate proxy certificate
Without calling external openssl binary.
Dietmar Maurer [Sun, 22 Dec 2019 10:09:30 +0000 (11:09 +0100)]
DataStoreContent.js - render_backup_type: use better default
Dietmar Maurer [Sun, 22 Dec 2019 10:06:03 +0000 (11:06 +0100)]
DataStoreContent.js: use rowexpander plugin to display files
Dietmar Maurer [Sun, 22 Dec 2019 09:43:57 +0000 (10:43 +0100)]
DataStoreContent.js: show backup groups (instead of snapshots).
Dietmar Maurer [Sun, 22 Dec 2019 09:02:15 +0000 (10:02 +0100)]
Dietmar Maurer [Sat, 21 Dec 2019 08:15:57 +0000 (09:15 +0100)]
NavigationTree.js: use other iconCls for datastores
Thomas Lamprecht [Fri, 20 Dec 2019 16:17:44 +0000 (17:17 +0100)]
ui: ds content: add reload button, use view controller
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 16:04:45 +0000 (17:04 +0100)]
ui: datastore content: add size column
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 16:03:28 +0000 (17:03 +0100)]
ui: datastore content: refactor to more schematic definition
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 14:59:14 +0000 (15:59 +0100)]
ui: datastore content: render timestamp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Grünbichler [Fri, 20 Dec 2019 08:34:14 +0000 (09:34 +0100)]
various packaging fixes, bump version
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 18 Dec 2019 10:10:13 +0000 (11:10 +0100)]
d/control: add proper rust build-dependencies
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 18 Dec 2019 10:46:05 +0000 (11:46 +0100)]
tests/pxar: increase verbosity
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>