Dietmar Maurer and Thomas Lamprecht
7526d86419
use new atomic_open_or_create_file
...
Factor out open_backup_lockfile() method to acquire locks owned by
user backup with permission 0660.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-07-20 18:54:23 +02:00
Dietmar Maurer
bfd357c5a1
depend on proxmox 0.11.6 (changed make_tmp_file() return type)
2021-07-14 13:37:26 +02:00
Dietmar Maurer
9ee4c23833
tape: changer: sg_pt: always retry until timeout
2021-07-13 10:39:28 +02:00
Dietmar Maurer and Thomas Lamprecht
a0cd0f9cec
change tape drive lock path
...
New kernel has stricter checks on tmpfs with stick-bit on directories, so some
commands (i.e. proxmox-tape changer status) fails when executed as root, because
permission checks fails when locking the drive.
This patch move the drive locks to /run/proxmox-backup/drive-lock.
Note: This is incompatible to old locking mechmanism, so users may not
run tape backups during update (or running backup can fail).
2021-07-12 17:26:49 +02:00
Dietmar Maurer
414be8b675
tape: fix LTO locate_file for HP drives
...
Add test code to the first locate_file command, compute locate_offset.
Subsequent locate_file commands use that offset.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-06-30 09:08:58 +02:00
Dietmar Maurer
fda19dcc6f
fix CachedUserInfo by using a shared memory version counter
2021-06-30 08:54:30 +02:00
Dietmar Maurer
cd975e5787
ui: implement OpenId login
2021-06-30 08:54:30 +02:00
Dietmar Maurer
3b7b1dfb8e
api: add openid redirect/login API
2021-06-30 08:54:30 +02:00
Dietmar Maurer
d8a47ec649
cleanup user/token is_active() check
2021-06-30 08:54:30 +02:00
Dietmar Maurer
252cd3b781
implement new helper is_active_user_id()
2021-06-30 08:54:30 +02:00
Dietmar Maurer
0decd11efb
cli: add CLI to manage openid realms.
2021-06-30 08:54:30 +02:00
Dietmar Maurer
b84d2592fb
add API to manage openid realms
2021-06-30 08:54:30 +02:00
Dietmar Maurer
0219ba2cc5
check_acl_path: add /access/domains and /access/openid
2021-06-30 08:54:30 +02:00
Dietmar Maurer
bbff6c4968
config: new domains.cfg to configure openid realm
...
Or other realmy types...
2021-06-30 08:54:30 +02:00
Dietmar Maurer
bb88c6a29d
depend on proxmox-openid-rs
2021-06-30 08:54:30 +02:00
Dietmar Maurer
2165f0d450
api: define and use REALM_ID_SCHEMA
2021-06-10 11:10:00 +02:00
Dietmar Maurer
b90036dadd
cleanup: factor out config::datastore::lock_config()
2021-06-04 09:04:14 +02:00
Dietmar Maurer
e8b32f2d87
bump version to 1.1.9-1
2021-06-01 08:27:18 +02:00
Dietmar Maurer
0bca966ec5
fix typo: s/dies/does/
2021-05-31 11:01:15 +02:00
Dietmar Maurer
440472cb32
correctly set apt proxy configuration
2021-05-12 12:19:24 +02:00
Dietmar Maurer and Thomas Lamprecht
4ce7da516d
reload cert inside command socket handler
2021-05-12 12:03:27 +02:00
Dietmar Maurer
137309cc4e
bump version to 1.1.7-1
2021-05-11 13:23:29 +02:00
Dietmar Maurer
1bff50afea
tape locate_file: fix off by one error
2021-05-11 12:37:04 +02:00
Dietmar Maurer
2732c47466
cleanup src/api2/node/config.rs
...
- add return type
- fix permissions
- fix descriptions
2021-05-10 08:25:43 +02:00
Dietmar Maurer
0466089316
move api related type/regx definition from backup_info.rs to src/api2/types/mod.rs
2021-05-07 12:45:44 +02:00
Dietmar Maurer
d8769d659e
use build.rs to pass REPOID to rustc-env
2021-05-07 10:11:39 +02:00
Dietmar Maurer
3e234af16e
tape: improve inline docs for READ POSITION LONG
2021-05-06 11:45:40 +02:00
Dietmar Maurer
bbbf662d20
tape: use LOCATE(16) SCSI command
...
Turns out this works on LTO4 and newer.
2021-05-06 10:51:59 +02:00
Dietmar Maurer
78bf292343
call create_run_dir() at daemon startup
2021-05-06 10:23:54 +02:00
Dietmar Maurer
e5ef69ecf7
cleanup: split SimpleHttp client into extra file
2021-05-06 10:22:24 +02:00
Dietmar Maurer
e0ba5553be
http proxy: add necessary brackets for IPv6 proxy
2021-05-05 11:57:04 +02:00
Dietmar Maurer
a2daecc25d
client/http_client: add necessary brackets
...
if we are given a 'naked' ipv6 without square brackets around it,
we need to add them ourselves, since the address is ambigious otherwise
when we add the port.
e.g. giving 'fe80::1' as address we arrive at the url (with the default port)
'https://fe80::1:8007/ '
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-05-05 10:30:39 +02:00
Dietmar Maurer
4cba875379
bump version to 1.1.6-2
2021-05-04 12:25:16 +02:00
Dietmar Maurer
7ab4382476
update debian/control
2021-05-04 12:24:16 +02:00
Dietmar Maurer
686173dc2a
bump version to 1.1.6-1
2021-05-04 12:09:56 +02:00
Dietmar Maurer
39c5db7f0f
move basic ACME types into src/api2/types/acme.rs
...
And rename AccountName into AcmeAccountName.
2021-05-04 11:32:18 +02:00
Dietmar Maurer
603aa09d54
tape restore: do not verify restored files
...
Because this is too slow and causes the tape motor to stop. Instead,
remove the verify_state from the manifest.
2021-05-04 11:05:32 +02:00
Dietmar Maurer
88aa3076f0
tape restore: add restore speed to logs
2021-05-04 11:05:32 +02:00
Dietmar Maurer
5400fe171c
tape restore: write datastore in separate thread
2021-05-04 11:05:32 +02:00
Dietmar Maurer
87bf9f569f
tape restore: split restore_chunk_archive
...
Split out a separate function scan_chunk_archive() for catalog restores.
Note: Required, because we need to optimize restore_chunk_archive() to
write datastore in separate threads (else thape drive will stop during restore)
2021-05-04 11:05:32 +02:00
Dietmar Maurer
426847e1ce
node config cleanups
2021-05-04 09:29:31 +02:00
Dietmar Maurer
73c607497e
cleanup acme client
2021-05-04 09:28:53 +02:00
Dietmar Maurer
c0147e49c4
tools/http: make user agent configurable
2021-04-28 12:15:26 +02:00
Dietmar Maurer
d52b120905
tools/http: set USER_AGENT inside request
2021-04-28 12:15:26 +02:00
Dietmar Maurer
467bd01cdf
api: add schema for http proxy configuration - HTTP_PROXY_SCHEMA
2021-04-28 11:23:06 +02:00
Dietmar Maurer
7a7fcb4715
http: add helper to parse proxy configuration
2021-04-28 11:23:06 +02:00
Dietmar Maurer
cf8e44bc30
HttpsConnector: add proxy authorization support
2021-04-28 11:23:06 +02:00
Dietmar Maurer
aac424674c
bump version to 1.1.5-1
2021-04-27 12:21:08 +02:00
Dietmar Maurer
12509a6d9e
tape: improve inline docs
2021-04-27 11:37:03 +02:00
Dietmar Maurer
5e169f387c
tape: add read_medium_configuration_page() to detect WORM media
...
And use it inside format_media().
2021-04-27 11:37:03 +02:00
Dietmar Maurer
73cef112eb
tape: remove MediumType struct, which is only valid on IBM drives
...
HP drives do not return this information.
Note: This breaks format on WORM media, because we have not way
to detect WOREM media (how?).
2021-04-27 09:58:27 +02:00
Dietmar Maurer
1ed9069ad3
http proxy: improve response parser
...
Avoid strange error message in case of connect error (only parse status + headers).
We are not interested in the response body, so simply ignore it.
2021-04-26 11:21:11 +02:00
Dietmar Maurer
8e898895cc
tape: do not query density_code in SgTape::new()
...
Because this can fail with NoSense/MediumChanged and other informational
Sense codes.
2021-04-23 09:56:44 +02:00
Dietmar Maurer
4be6beab6f
tape: format_media - implement special case for WORM media
2021-04-23 08:33:13 +02:00
Dietmar Maurer
a3b4b5b50e
tape: define and use MediumType enum
2021-04-23 07:54:42 +02:00
Dietmar Maurer
33b8d7e5e8
tape: use loaded media_type in format_media (instead of drive_density)
...
Required to format LTO4 media loaded in LTO5 drive).
Also contains some SCSI code cleanups.
2021-04-23 07:27:30 +02:00
Dietmar Maurer
b9e0fcbdcd
tape: implement report_desnity
2021-04-22 13:54:31 +02:00
Dietmar Maurer
a7188b3a75
tape: fix FORMAT for LTO-4 drives
...
FORMAT requires LTO-5 or newer, so we do a rewind/erase if FORMAT fails.
2021-04-22 11:44:49 +02:00
Dietmar Maurer
b6c06dce9d
http proxy: implement read_connect_response()
...
Limit memory usage in case we get strange data from proxy.
2021-04-22 10:06:14 +02:00
Dietmar Maurer and Thomas Lamprecht
9104152a83
HttpsConnector: add proxy support
2021-04-21 15:29:17 +02:00
Dietmar Maurer and Thomas Lamprecht
02a58862dd
HttpsConnector: code cleanup
2021-04-21 15:29:17 +02:00
Dietmar Maurer and Thomas Lamprecht
26153589ba
new http client implementation SimpleHttp (avoid static HTTP_CLIENT)
...
This one will have proxy support.
2021-04-21 15:29:17 +02:00
Dietmar Maurer and Thomas Lamprecht
17b3e4451f
MaybeTlsStream: implement poll_write_vectored()
...
This is just an performance optimization.
2021-04-21 15:29:17 +02:00
Dietmar Maurer and Thomas Lamprecht
a2072cc346
http: rename EitherStream to MaybeTlsStream
...
And rename the enum values. Added an additional enum called Proxied.
The enum in now more specialized, but we only use it for the http client anyways.
2021-04-21 15:29:17 +02:00
Dietmar Maurer
28570d19a6
tape restore: avoid multiple stat calls for same chunk
2021-04-16 13:17:17 +02:00
Dietmar Maurer
1369bcdbba
tape restore: verify if all chunks exist
2021-04-16 12:20:44 +02:00
Dietmar Maurer
5e4d81e957
tape restore: simplify log (list datastores on single line)
2021-04-16 11:35:05 +02:00
Dietmar Maurer
0f4721f305
tape restore: fix datastore locking
2021-04-16 09:09:05 +02:00
Dietmar Maurer
80acdd71fa
tape: do not try to backup unfinished backups
2021-04-15 10:24:14 +02:00
Dietmar Maurer
7afb98a912
docs: fix tape.cfg format description
2021-04-14 14:30:20 +02:00
Dietmar Maurer
3847008e1b
docs: pmt - remove old linux driver options
2021-04-14 14:26:39 +02:00
Dietmar Maurer
f6ed2eff47
docs: move tape config/syntax to appendix
2021-04-14 14:25:10 +02:00
Dietmar Maurer
54311a38c6
docs: update proxmox-tape status output
2021-04-14 14:03:45 +02:00
Dietmar Maurer
10439718e2
docs: use defininition list for tape Terminology
...
To avoid those strange line breaks in Field list labels.
2021-04-14 13:25:29 +02:00
Dietmar Maurer
4bf2ab1109
cleanup: remove debug println
2021-04-14 10:39:29 +02:00
Dietmar Maurer
2631e57d20
fix regression tests
2021-04-13 14:02:37 +02:00
Dietmar Maurer
90461b76fb
TapeRead: add skip_data()
2021-04-13 13:32:45 +02:00
Dietmar Maurer
6a15cce540
tape: SgTapeReader::read_block - disable reading beyond EOF
2021-04-13 11:46:30 +02:00
Dietmar Maurer
f281b8d3a9
tape: cleanup MediaCatalog on tape reuse
2021-04-13 11:46:30 +02:00
Dietmar Maurer
ce5327badc
tape: fix regression tests
2021-04-12 14:08:05 +02:00
Dietmar Maurer
318b310638
tape: improve EOT error handling
2021-04-12 13:27:34 +02:00
Dietmar Maurer
164ad7b706
sgutils2: use thiserror to derive Error
2021-04-12 13:27:34 +02:00
Dietmar Maurer
109ccd300f
cleanup: move tape SCSI code to src/tape/drive/lto/sg_tape/
2021-04-09 11:34:45 +02:00
Dietmar Maurer
c560cfddca
tape: read_drive_status - ignore media changed sense info
2021-04-09 09:46:19 +02:00
Dietmar Maurer
44f6bb019c
sgutils2: implement scsi_request_sense()
2021-04-09 09:46:19 +02:00
Dietmar Maurer
1a23132262
tape: add TapeDensity::Unknown
2021-04-08 12:23:54 +02:00
Dietmar Maurer
48c4193f7c
ui: update tape DriveStatus for new driver
2021-04-08 12:04:14 +02:00
Dietmar Maurer
8204d9b095
tape: avoid unneccessary SCSI request in Drop
2021-04-08 11:26:08 +02:00
Dietmar Maurer
fad95a334a
tape: clear encryption key after backup (for security reasons)
2021-04-08 10:37:49 +02:00
Dietmar Maurer
973e985d73
cleanup: remove unused linux tape driver code
2021-04-08 10:15:52 +02:00
Dietmar Maurer
ee9fa953de
docs: Mention our new user space tape driver, adopt device path names
2021-04-08 09:50:09 +02:00
Dietmar Maurer
09acf0a70d
do not depend on mt-st and mtx
...
We now use our own driver, so those tools are no longer required.
2021-04-08 09:48:47 +02:00
Dietmar Maurer
15d1435789
tape: add vendor, product and revision to LtoDriveAndMediaStatus
2021-04-08 08:34:46 +02:00
Dietmar Maurer
80ea23e1b9
tape: pmt - implement options command
2021-04-08 08:34:45 +02:00
Dietmar Maurer
5d6379f8db
tape: implement locate_file without LOCATE(10)
2021-04-08 08:34:45 +02:00
Dietmar Maurer
566b946f9b
tape: pmt - re-implement lock/unlock command
2021-04-08 07:28:30 +02:00
Dietmar Maurer
7f7459677d
tape: pmt - re-implement fsr/bsr
2021-04-08 07:28:30 +02:00
Dietmar Maurer
0892a512bc
tape: correctly set/display drive option
2021-04-08 07:28:30 +02:00
Dietmar Maurer
b717871d2a
sgutils2: add scsi_mode_sense helper
2021-04-08 07:28:30 +02:00
Dietmar Maurer
7b11a8098d
tape: make sure there is a filemark at the end of the tape
2021-04-08 07:28:30 +02:00