Dietmar Maurer
|
ca953d831f
|
cleanup: remove MT_ST_ prefix from SetDrvBufferOptions
|
2021-02-01 17:54:53 +01:00 |
|
Dietmar Maurer
|
19e4a36c70
|
tape: do not use drive.open() within pmt
Do not fail if no media is loaded. Inportant for load command.
|
2021-02-01 12:39:50 +01:00 |
|
Dietmar Maurer
|
90769e5694
|
tape: add pmt lock/unlock
|
2021-02-01 12:18:55 +01:00 |
|
Dietmar Maurer
|
b8cbe5d65b
|
tape: fix tape alert flag decoding
|
2021-02-01 12:18:55 +01:00 |
|
Dietmar Maurer
|
d690d14568
|
tape: add pmt bsr/fsr
|
2021-02-01 10:39:04 +01:00 |
|
Dietmar Maurer
|
85ef624440
|
tape: add pmt asf
|
2021-02-01 10:32:21 +01:00 |
|
Dietmar Maurer
|
e995996290
|
tape: pmt - fix count parameter schema
|
2021-02-01 10:21:25 +01:00 |
|
Dietmar Maurer
|
8e6ad4301d
|
tape: add pmt fsfm/bsfm, pass count as arg_param
|
2021-02-01 10:18:18 +01:00 |
|
Dietmar Maurer
|
86740dfc89
|
tape: ui - remove drive from pool config
|
2021-02-01 10:01:06 +01:00 |
|
Dietmar Maurer
|
9883b54cba
|
tape: remove drive from pool config
|
2021-02-01 09:14:28 +01:00 |
|
Dietmar Maurer
|
83b8949a98
|
tape: add pmt weof
|
2021-01-31 17:33:07 +01:00 |
|
Dietmar Maurer
|
28f60e5291
|
cleanup: avoid compiler warnings
|
2021-01-31 17:02:55 +01:00 |
|
Dietmar Maurer
|
1f31d06f48
|
tape: add pmt bsf
|
2021-01-31 17:00:15 +01:00 |
|
Dietmar Maurer
|
2f2e83c890
|
tape: add pmt fsf
|
2021-01-31 16:54:16 +01:00 |
|
Dietmar Maurer
|
b22c618734
|
tape: add pmt erase
|
2021-01-31 16:34:10 +01:00 |
|
Dietmar Maurer
|
1e041082bb
|
tape: add pmt command line tool
Experimental, not installed by now.
|
2021-01-31 16:19:53 +01:00 |
|
Dietmar Maurer
|
a57ce270ac
|
postinst: add user backup to group tape
So that it is possible to access tape and changer devcies.
|
2021-01-30 11:48:49 +01:00 |
|
Dietmar Maurer
|
b5b99a52cd
|
tape: API type cleanup, use serde flatten to derive types
|
2021-01-30 09:36:54 +01:00 |
|
Dietmar Maurer
|
9586ce2f46
|
tape: move scan_drives API code to correct file
|
2021-01-30 08:03:17 +01:00 |
|
Dietmar Maurer
|
b8d526f18d
|
ui: tape/ChangerStatus - use POST for barcode-label-media
|
2021-01-29 17:06:53 +01:00 |
|
Dietmar Maurer
|
c297835b01
|
tape: proxmox-tape - use API instead of direct functions calls
|
2021-01-29 11:49:11 +01:00 |
|
Dietmar Maurer
|
e68269fcaf
|
tape: proxmox-tape inventory: call API
|
2021-01-29 11:21:57 +01:00 |
|
Dietmar Maurer
|
5243df4712
|
tape: proxmox-tape - use API instead of direct functions calls
|
2021-01-29 10:50:11 +01:00 |
|
Dietmar Maurer
|
4470eba551
|
cleanup: factor out common client code to view task log/result
|
2021-01-29 10:10:04 +01:00 |
|
Dietmar Maurer
|
1f2c4713ef
|
tape: improve backup task abort behaviour
|
2021-01-29 09:23:39 +01:00 |
|
Dietmar Maurer
|
a6c16894ff
|
worker_task: log something when we receive an abort request
|
2021-01-29 09:22:37 +01:00 |
|
Dietmar Maurer
|
271764deb9
|
tape: make it possible to abort tape backup tasks (check_abort)
Also use task_log makro instead of worker.log.
|
2021-01-29 09:07:55 +01:00 |
|
Dietmar Maurer
|
52f7a73009
|
display_task_log: make it possible to abort tasks with CTRL-C
|
2021-01-29 09:06:15 +01:00 |
|
Dietmar Maurer
|
41dacd5d3d
|
tape: use worker task for eject-media api
|
2021-01-28 16:49:08 +01:00 |
|
Dietmar Maurer
|
eb1dfb02b5
|
tape: proxmox-tape - use api for erase-media and rewind
|
2021-01-28 16:36:10 +01:00 |
|
Dietmar Maurer
|
1a0eb86344
|
tape: gui: s/encryption/encrypt/ in media pool config panel
|
2021-01-28 15:50:01 +01:00 |
|
Dietmar Maurer
|
bdb62b20a3
|
tape: media_pool config api - set protected flags where required
|
2021-01-28 15:42:32 +01:00 |
|
Dietmar Maurer
|
f2ca03d7d0
|
cleanup: avoid compiler warning
|
2021-01-28 15:32:21 +01:00 |
|
Dietmar Maurer
|
87f4be7998
|
tape: use api to run proxmox-tape backup
|
2021-01-28 14:56:42 +01:00 |
|
Dietmar Maurer
|
d737adc6be
|
tape: rename changer_drive_id to changer_drivenum
|
2021-01-28 11:29:59 +01:00 |
|
Dietmar Maurer
|
b2fc6f9228
|
fix build: commit missing file
|
2021-01-27 18:13:58 +01:00 |
|
Dietmar Maurer
|
651a61f559
|
pmtx: implement scan command
|
2021-01-27 12:40:51 +01:00 |
|
Dietmar Maurer
|
b06edeca02
|
remove generated file synopsis.rst (no need to track in git)
|
2021-01-27 12:38:02 +01:00 |
|
Dietmar Maurer
|
89ccb125d1
|
tape: use 36 byte Inquiry (recommended size)
|
2021-01-27 12:35:28 +01:00 |
|
Dietmar Maurer
|
c972704477
|
install pmtx binary
|
2021-01-27 11:36:15 +01:00 |
|
Dietmar Maurer
|
887f1cb90c
|
cleanup: move scan changers API implementation
|
2021-01-27 09:58:16 +01:00 |
|
Dietmar Maurer
|
16b4d78400
|
tape: rename retry_command to execute_scsi_command, make retry a flag
|
2021-01-27 09:34:24 +01:00 |
|
Dietmar Maurer
|
ec8d9c6b80
|
tape: repeat changer scsi command until successful
|
2021-01-27 08:59:10 +01:00 |
|
Dietmar Maurer
|
49c2d1dcad
|
sgutils2: use sg_get_asc_ascq_str to produce error messages
|
2021-01-27 06:56:11 +01:00 |
|
Dietmar Maurer
|
d0f51651f9
|
sgutils2: add ASC codes from tandeberg docs
|
2021-01-26 18:54:08 +01:00 |
|
Dietmar Maurer
|
481ccf16a5
|
sgutils2: further improve error messages
|
2021-01-26 15:19:43 +01:00 |
|
Dietmar Maurer
|
a223458753
|
sgutils2: support RequestSense Descriptor format
|
2021-01-26 13:38:16 +01:00 |
|
Dietmar Maurer
|
c81c46c336
|
sgutils2: improve error messages
|
2021-01-26 12:24:58 +01:00 |
|
Dietmar Maurer
|
c3747b93c8
|
tape: add new command line tool "pmtx"
Also improve sgutil2 error reporting
|
2021-01-26 11:57:15 +01:00 |
|
Dietmar Maurer
|
2b96a43879
|
tape: cleanup - use ScsiMediaChange trait instead of mtx_status()
|
2021-01-25 13:25:22 +01:00 |
|
Dietmar Maurer
|
697c41c584
|
tape: add/use rust scsi changer implementation using libsgutil2
|
2021-01-25 13:14:07 +01:00 |
|
Dietmar Maurer
|
a2379996e6
|
sgutils2: add scsi_inquiry command
|
2021-01-25 13:14:07 +01:00 |
|
Dietmar Maurer
|
7c78d54231
|
sgutils: allow command which does not transfer any data
|
2021-01-24 15:19:43 +01:00 |
|
Dietmar Maurer
|
f9d71e8b17
|
sgutils2: allow to set custom timeouts
|
2021-01-24 14:54:30 +01:00 |
|
Dietmar Maurer
|
0107fd323c
|
cleanup: avoid compiler warnings
|
2021-01-23 17:34:26 +01:00 |
|
Dietmar Maurer
|
8ba47929a0
|
tape: add docu about paperkey
|
2021-01-23 15:34:28 +01:00 |
|
Dietmar Maurer
|
794b0fe9ce
|
tape: document hardware encryption
|
2021-01-23 15:19:28 +01:00 |
|
Dietmar Maurer
|
979dccc7ec
|
tape: avoid error when clearing encryption key
Simply ignore clear request when sg_spin_data_encryption_caps fails.
Assume those are tapes without hardware encryption support.
|
2021-01-23 10:20:43 +01:00 |
|
Dietmar Maurer
|
bf78f70885
|
improve code docs in api2
Note: API methos should be declared pub, so that they show up in the generated docu.
|
2021-01-22 15:57:42 +01:00 |
|
Dietmar Maurer
|
0d916ac531
|
tape: add media pool config code docs
|
2021-01-22 12:01:46 +01:00 |
|
Dietmar Maurer
|
d4ab407045
|
tape: add drive config code docs
|
2021-01-22 11:51:36 +01:00 |
|
Dietmar Maurer
|
45212a8c78
|
fix mtx parser bug: s/strip_suffix/strip_prefix/
|
2021-01-22 11:00:56 +01:00 |
|
Dietmar Maurer
|
64b83c3d70
|
tape: implement paperkey command for tape encryption keys
|
2021-01-22 09:56:14 +01:00 |
|
Dietmar Maurer
|
639a6782bd
|
paperkey: move code to src/tools/paperkey.rs
|
2021-01-22 09:42:59 +01:00 |
|
Dietmar Maurer
|
5f34d69bcc
|
tape: add volume-statistics api/command
|
2021-01-22 08:45:35 +01:00 |
|
Dietmar Maurer
|
337ff5a3cc
|
tape: add estimated medium wearout to status
|
2021-01-22 08:06:25 +01:00 |
|
Dietmar Maurer
|
8e6459a818
|
tape: set encryption key on restore
|
2021-01-22 07:26:42 +01:00 |
|
Dietmar Maurer
|
aff3e16194
|
tape: add code docs to src/config/tape_encryption_keys.rs
|
2021-01-21 18:23:07 +01:00 |
|
Dietmar Maurer
|
9372c0787d
|
renamed src/tape/sgutils2.rs -> src/tools/sgutils2.rs
|
2021-01-21 17:57:17 +01:00 |
|
Dietmar Maurer
|
83fb2da53e
|
tape: move MediaCatalog magic number into struct (doc cleanup)
|
2021-01-21 17:48:07 +01:00 |
|
Dietmar Maurer
|
645a044bf6
|
tape: further hierarchy improvements
|
2021-01-21 17:25:32 +01:00 |
|
Dietmar Maurer
|
37796ff73f
|
tape: change code hierarchy to improve docs
|
2021-01-21 17:12:01 +01:00 |
|
Dietmar Maurer
|
e1fdcb1678
|
tape: do not export/doc low level libsgutils2 bindings
|
2021-01-21 16:38:24 +01:00 |
|
Dietmar Maurer
|
edda5039d4
|
tape: improve code docs
|
2021-01-21 13:19:07 +01:00 |
|
Dietmar Maurer
|
1c86893d95
|
cleanup: always compute fingerprint in KeyConfig constructors
|
2021-01-21 11:56:54 +01:00 |
|
Dietmar Maurer
|
d543587d34
|
Merge branch 'master' of ssh://proxdev.maurer-it.com/rust/proxmox-backup
|
2021-01-21 10:56:52 +01:00 |
|
Dietmar Maurer
|
780bc4cad2
|
tape: try to set encryption key with read-label command
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
18bd6ba13d
|
tape: restore_key - always update key, even if there is already an entry
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
4dafc513cc
|
tape: fix file permissions for tape encryptiuon keys
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
7acd5c5659
|
cleanup: remove missleading wording from code docs
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
8428063d9e
|
cleanup: KeyConfig::decrypt - show password hint on error
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
f490dda05a
|
tape: use type Uuid instead of String
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
2b191385ea
|
tape: use specialized encryption key per media-set
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
bc228e5eaf
|
api: add types for UUIDs
|
2021-01-20 17:16:46 +01:00 |
|
Dietmar Maurer
|
6dd0513546
|
tape: allocate new media set when pool encryption key changes
|
2021-01-20 15:43:39 +01:00 |
|
Dietmar Maurer
|
8abe51b71d
|
improve code docs
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
69b8bc3bfa
|
tape: implemenmt show key
Moved API types Kdf and KeyInfo to src/api2/types/mod.rs.
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
301b8aa0a5
|
tape: implement change-passphrase for tape encryption keys
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
e5b6c93323
|
tape: add --kdf parameter to create key api
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
9a045790ed
|
cleanup KeyConfig
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
82a103c8f9
|
add "password hint" to KeyConfig
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
feb1645f37
|
tape: generate random encryptions keys and store key_config on media
|
2021-01-19 11:20:07 +01:00 |
|
Dietmar Maurer
|
8ca37d6a65
|
cleanup: factor out decrypt_key_config
|
2021-01-19 11:20:07 +01:00 |
|
Dietmar Maurer
|
8a0046f519
|
tape: implement encrypted backup - simple version
This is just a proof of concept, only storing the encryption key fingerprint
inside the media-set label.
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
84cbdb35c4
|
implement FromStr for Fingerprint
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
1e93fbb5c1
|
tape: add encrypt property to media pool configuration
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
619554af2b
|
tape: clear encryption key before writing labels
We always write labels unencrypted.
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
d5a48b5ce4
|
tape: add hardware encryption key managenent api
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
b22b6c2299
|
tape: encryption scsi command cleanup
|
2021-01-16 18:24:04 +01:00 |
|
Dietmar Maurer
|
90950c9c20
|
tape: add scsi commands to control drive hardware encryption
|
2021-01-16 15:59:05 +01:00 |
|