Dominik Csapak
a9649ddc44
disks/zpool_status: add test for pool with special character
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-07-09 13:37:31 +02:00
Dominik Csapak
4f9096a211
disks/zpool_list: allow some more characters for pool list
...
not exhaustive of what zfs allows (space is missing), but this
can be done easily without problems
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-07-09 13:37:31 +02:00
Dominik Csapak
c3a4b5e2e1
zpool_list: add tests for special pool names
...
those names are allowed for zpools
these will fail for now, but it will be fixed in the next commit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-07-09 13:37:31 +02:00
Dominik Csapak
7957fabff2
api: add ZPOOL_NAME_SCHEMA and regex
...
poolnames can containe spaces and some other special characters
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-07-09 13:37:31 +02:00
Wolfgang Bumiller
20a4e4e252
minor optimization to 'to_canonical_json'
...
* don't clone hash keys, just use references
* we don't need a String, stick to Vec<u8> and use
serde_json::to_writer to avoid a temporary strings
altogether
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-09 13:32:11 +02:00
Dietmar Maurer
4459ffe30e
src/backup/manifest.rs: add default toömake it compatible with older backus
2020-07-09 13:25:38 +02:00
Dietmar Maurer
dfa517ad6c
src/backup/manifest.rs: rename into_string -> to_string
...
And do not consume self.
2020-07-09 11:28:05 +02:00
Dietmar Maurer
3dacedce71
src/backup/manifest.rs: use serde_json::from_value() to deserialize data
...
Also modified from_data compute signature ditectly from json.
2020-07-09 09:50:28 +02:00
Dietmar Maurer
b53f637914
src/backup/manifest.rs: cleanup signature generation
2020-07-09 09:20:49 +02:00
Dietmar Maurer
2107a5aebc
src/backup/manifest.rs: include signature inside the manifest
...
This is more flexible, because we can choose what fileds we want to sign.
2020-07-08 16:23:26 +02:00
Dietmar Maurer
3638341aa4
src/backup/file_formats.rs: remove signed chunks
...
We can include signature in the manifest instead (patch will follow).
2020-07-08 16:23:26 +02:00
Wolfgang Bumiller
0351f23ba4
client: introduce --keyfd parameter
...
This is a more convenient way to pass along the key when
creating encrypted backups of unprivileged containers in PVE
where the unprivileged user namespace cannot access
`/etc/pve/priv`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 13:56:38 +02:00
Dietmar Maurer
c1ff544eff
src/backup/crypt_config.rs - compute_digest: make it more secure
2020-07-08 12:53:04 +02:00
Wolfgang Bumiller
05389a0109
more xdg cleanup and encryption parameter improvements
...
Have a single common function to get the BaseDirectories
instance and a wrapper for `find()` and `place()` which
wrap the error with some context.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 10:57:28 +02:00
Wolfgang Bumiller
b65390ebc9
client: xdg usage: place() vs find()
...
place() is used when creating a file, as it will create
intermediate directories, only use it when actually placing
a new file.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 10:57:28 +02:00
Dietmar Maurer
3bad3e6e52
src/client/backup_writer.rs - upload_stream: add crypt_mode
2020-07-08 10:43:28 +02:00
Wolfgang Bumiller
24be37e3f6
client: fix schema to include --crypt-mode parameter
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 10:09:15 +02:00
Wolfgang Bumiller
1008a69a13
pxar: less confusing logic
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 09:58:29 +02:00
Wolfgang Bumiller
521a0acb2e
DataStore::load_manifest: also return CryptMode
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 09:19:53 +02:00
Wolfgang Bumiller
3b66040de6
add DataBlob::crypt_mode
...
and move use statements up
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 09:19:53 +02:00
Wolfgang Bumiller
af3a0ae7b1
remove CryptMode::sign_only special method
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-08 09:19:53 +02:00
Dietmar Maurer
4e36f78438
src/backup/manifest.rs: support old encrypted property
...
Just to avoid confusion.
2020-07-08 08:52:27 +02:00
Wolfgang Bumiller
f28d9088ed
introduce a CryptMode enum
...
This also replaces the recently introduced --encryption
parameter on the client with a --crypt-mode parameter.
This can be "none", "encrypt" or "sign-only".
Note that this introduces various changes in the API types
which previously did not take the above distinction into
account properly:
Both `BackupContent` and the manifest's `FileInfo`:
lose `encryption: Option<bool>`
gain `crypt_mode: Option<CryptMode>`
Within the backup manifest itself, the "crypt-mode" property
will always be set.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-07 15:24:19 +02:00
Dietmar Maurer
f91d58e157
src/tools/runtime.rs: implement get_runtime_with_builder
2020-07-07 10:11:04 +02:00
Dietmar Maurer
7443a6e092
src/client/remote_chunk_reader.rs: implement clone for RemoteChunkReader
2020-07-07 07:34:58 +02:00
Wolfgang Bumiller
96ee857752
client: add --encryption boolen parameter
...
This can be used to explicitly disable encryption even if a
default key file exists in ~/.config.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-06 14:36:04 +02:00
Wolfgang Bumiller
887018bb79
client: use default encryption key if it is available
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-06 14:36:04 +02:00
Wolfgang Bumiller
9696f5193b
client: move key management into separate module
...
and use api macro for methods and Kdf type
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-06 14:36:04 +02:00
Wolfgang Bumiller
e13c4f66bb
minor style & whitespace fixups
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-07-06 10:55:25 +02:00
Thomas Lamprecht
08cb2038bd
api: disks: indentation fixup
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-03 17:59:30 +02:00
Dietmar Maurer
9de69cdb1a
src/bin/proxmox_backup_client/catalog.rs: split out catalog code
2020-07-03 16:45:47 +02:00
Dietmar Maurer
e9764238df
make ReadChunk not require mutable self.
...
That way we can reduce lock contentions because we lock for much shorter
times.
2020-07-03 07:37:29 +02:00
Dietmar Maurer
cc7995ac40
src/bin/proxmox_backup_client/task.rs: split out task command
2020-07-02 18:04:29 +02:00
Dietmar Maurer
43abba4b4f
src/bin/proxmox_backup_client/mount.rs: split out mount code
2020-07-02 17:49:59 +02:00
Dietmar Maurer
caea8d611f
proxmox-backup-client: add benchmark command
...
This is just a start, We need to add more useful things here...
2020-07-02 14:01:57 +02:00
Wolfgang Bumiller
7d0754a6d2
pxar: fixup 'vanished-file' logic a bit
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-30 14:41:42 +02:00
Wolfgang Bumiller
5afa0755ea
pxar: fix missing newlines in warnings
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-30 14:37:20 +02:00
Dietmar Maurer
2162e2c15d
src/api2/admin/datastore.rs: avoid slash in UPID strings
2020-06-30 13:11:22 +02:00
Dietmar Maurer
4059285649
fix typo
2020-06-29 12:59:25 +02:00
Dietmar Maurer
2e079b8bf2
partially revert commit 1f82f9b7b5
...
do it backwards compatible. Also, code was wrong because FixedIndexWriter
still computed old style csums...
2020-06-29 12:44:45 +02:00
Wolfgang Bumiller
a8e2940ff3
pxar: deal with files changing size during archiving
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-06-26 11:49:51 +02:00
Dominik Csapak
4eb4e94918
fix test output
...
field separator for pools is always a tab when using -H
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-06-26 10:31:11 +02:00
Dietmar Maurer
817bcda848
src/backup/verify.rs: do not stop on server shutdown
...
This is a read-only task, so there is no need to stop.
2020-06-26 09:45:59 +02:00
Dominik Csapak
f6de2c7359
WorkerTask: add warnings and count them
...
so that we have one level more between errors and OK
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-06-26 09:42:11 +02:00
Dominik Csapak
402c8861d8
fix typo
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-06-26 09:12:29 +02:00
Dominik Csapak
3f683799a8
improve 'debug' parameter
...
instead of checking on '1' or 'true', check that it is there and not
'0' and 'false'. this allows using simply
https://foo:8007/?debug
instead of
https://foo:8007/?debug=1
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-06-26 09:12:14 +02:00
Dietmar Maurer
1f82f9b7b5
src/backup/index.rs: add compute_csum
...
And use it for fixed and dynamic index. Please note that this
changes checksums for fixed indexes, so restore older backups
will fails now (not backward compatible).
2020-06-26 09:00:34 +02:00
Dietmar Maurer
fe3e65c3ea
src/api2/backup.rs: call register_chunk in previous download api
2020-06-26 08:22:46 +02:00
Dietmar Maurer
fdaab0df4e
src/backup/index.rs: add chunk_info method
2020-06-26 08:14:45 +02:00
Dietmar Maurer
b957aa81bd
update backup api for incremental backup
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-06-26 07:17:08 +02:00