23dc68fdea
acl: add docs and adapt visibility
...
document all public things, add some doc links and make some
previously-public things only available for test cases or within the
crate:
previously public, now private:
- AclTreeNode::extract_user_roles (we have extract_roles())
- AclTreeNode::extract_group_roles (same)
- AclTreeNode::delete_group_role (exists on AclTree)
- AclTreeNode::delete_user_role (same)
- AclTreeNode::insert_group_role (same)
- AclTreeNode::insert_user_role (same)
- AclTree::write_config (we have save_config())
- AclTree::load (we have config()/cached_config())
previously public, now crate-internal:
- AclTree::from_raw (only used by tests)
- split_acl_path (used by some test binaries)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-18 07:05:11 +01:00
b532dd00c4
tape: add helper to read snapshot contents
...
- lock the snapshot for reading
- use openat to open files
- provides an iterator over all chunks
2020-12-17 13:07:52 +01:00
c01742855a
KeyConfig: bail on wrong fingerprint
...
instead of just logging the error. this should never happen in practice
unless someone is messing with the keyfile, in which case, it's better
to abort.
update tests accordingly (wrong fingerprint should fail, no fingerprint
should get the expected one).
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 11:27:06 +01:00
9c953dd260
tape: add code to write backup snapshot files (without chunks) to tape
2020-12-17 08:28:47 +01:00
3fbf2d2fcd
tape: cleanup MediaCatalog
2020-12-17 08:05:53 +01:00
e0af222ec3
KeyConfig: always calculate fingerprint
...
and warn if stored and calculated fingerprint don't match.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:52:55 +01:00
73b5011786
KeyConfig: add encrypt/decrypt test
...
the RSA key and the encryption key itself are hard-coded to avoid
stalling the test runs because of lack of entropy, they have no special
significance otherwise.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:47:45 +01:00
7137630d43
client: add 'import-with-master-key' command
...
to import an encrypted encryption key using a master key.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:46:24 +01:00
8acfd15d6e
key: move RSA-encryption to KeyConfig
...
since that is what gets encrypted, and not a CryptConfig.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:43:34 +01:00
48fbbfeb7e
fix #3197 : skip fingerprint check when restoring key
...
when restoring an encrypted key, the original one is obviously not
available to check the fingerprint with.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:37:54 +01:00
9990af3042
master key: store blob name in constant
...
since we will use it in more than one place.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2020-12-17 06:36:06 +01:00
fe6c19383b
tape: remove MediaLabelInfo, use MediaId instead
...
The additional content_uuid was quite useless...
2020-12-16 13:31:32 +01:00
9839d3f778
tape: improve docu
2020-12-16 12:43:51 +01:00
dd59e3c2a1
tape: improve docu
2020-12-16 12:23:52 +01:00
0b7432ae09
tape: add chunk archive reader/writer
2020-12-16 12:08:34 +01:00
c1c2c8f635
tape: cleanup MediaLocation type for direct use with API
2020-12-16 10:49:01 +01:00
42298d5896
tape: add magic number to identify media catalog files
2020-12-16 09:00:14 +01:00
205e187613
tape: add MediaCatalog implementation
2020-12-15 13:40:49 +01:00
a78348acbb
tape: rename DriveLabel to MediaLabel
2020-12-14 17:37:16 +01:00
410611b4f2
tape: improve file format docu
2020-12-14 17:29:57 +01:00
af07ec8f29
tape: minor code cleanup
2020-12-14 16:56:26 +01:00
3f803af00b
tape: scan - print more debug info
2020-12-14 13:16:18 +01:00
ac461bd651
tape: implement scan command (useful for debug)
2020-12-14 12:55:49 +01:00
ce955e1635
tape: implement eod cli command (debug tool)
2020-12-14 09:56:59 +01:00
e20d008c6a
tape: rename cli 'media media-destroy' toö 'media destroy'
2020-12-14 09:30:32 +01:00
fb657d8ee5
tape: implement destroy_media
2020-12-14 08:58:40 +01:00
fba0b77469
tape: add media api
2020-12-14 07:55:57 +01:00
b5c1296eaa
tape: make changer get_status async
2020-12-14 07:14:24 +01:00
065df12872
tape: split api type definitions for changers into extra file
2020-12-13 09:31:02 +01:00
7e1d4712b8
tape: rename CHANGER_ID_SCHEMA to CHANGER_NAME_SCHEMA
2020-12-13 09:22:08 +01:00
49c965a497
tape: rename DRIVE_ID_SCHEMA to DRIVE_NAME_SCHEMA
2020-12-13 09:18:16 +01:00
6fe9aedd0b
tape: correctly call Async handler in proxmox-tape
2020-12-12 09:58:47 +01:00
42cb9bd6a5
tape: avoid executor blocking in changer api
2020-12-12 09:45:08 +01:00
66dbe5639e
tape: avoid executor blocking in drive API
...
By using tokio::task::spawn_blocking().
2020-12-12 09:20:04 +01:00
663ef85992
tape: use WorkerTask for erase and rewind
2020-12-11 11:19:33 +01:00
e92c75815b
tape: split inventory api
...
inventory: sync, list labels with uuids,
update_inventory: WorkerTask, updates database
2020-12-11 10:42:29 +01:00
6dbad5b4b5
tape: run label commands as WorkerTask (threads)
2020-12-11 09:10:22 +01:00
bff7e3f3e4
tape: implement barcode-label-mdedia
2020-12-11 07:50:19 +01:00
83abc7497d
tape: implement inventory command
2020-12-11 07:39:28 +01:00
be1a8c94ae
fix build: add missing file
2020-12-10 13:40:20 +01:00
4606f34353
tape: implement read-label command
2020-12-10 13:20:39 +01:00
7bb720cb4d
tape: implement label command
2020-12-10 12:30:27 +01:00
c4d8542ec1
tape: add media pool handling
2020-12-10 11:41:35 +01:00
9700d5374a
tape: add media pool cli
2020-12-10 11:13:12 +01:00
05e90d6463
tape: add media pool config api
2020-12-10 10:52:27 +01:00
55118ca18e
tape: correctly sort drive api subdir
2020-12-10 10:09:12 +01:00
f70d8091d3
tape: implement option changer-drive-id
2020-12-10 09:09:06 +01:00
a3c709ef21
tape: cli cleanup - avoid api redefinition
2020-12-10 08:35:11 +01:00
4917f1e2d4
tape: implement delete property for drive update command
2020-12-10 08:25:46 +01:00
93829fc680
tape: cleanup load-slot api
2020-12-10 08:04:55 +01:00