Wolfgang Bumiller
83771aa037
move tools::process_locker to pbs-tools
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 14:16:34 +02:00
Wolfgang Bumiller
f8a74456cc
test fixups
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 12:17:10 +02:00
Wolfgang Bumiller
a5951b4f38
move manifest and backup_info to pbs-datastore
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 11:34:56 +02:00
Wolfgang Bumiller
f75292bd8d
move tools::json to pbs-tools
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 11:34:56 +02:00
Wolfgang Bumiller
067dc06dba
add pbs-systemd: move string and unit handling there
...
the systemd config/unit parsing stays in pbs for now since
that's not usually required and uses our section config
parser
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 11:34:56 +02:00
Wolfgang Bumiller
18cdf20afc
move tools::nom to pbs-tools
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 10:08:26 +02:00
Wolfgang Bumiller
e57841c442
move run_command to pbs-tools
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 10:04:05 +02:00
Wolfgang Bumiller
770a36e53a
add pbs-tools subcrate
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-06 15:10:37 +02:00
Wolfgang Bumiller
d420962fbc
split out pbs-runtime module
...
These are mostly tokio specific "hacks" or "workarounds" we
only really need/want in our binaries without pulling it in
via our library crates.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-06 14:52:25 +02:00
Wolfgang Bumiller
85beb7d875
tree-wide: switch to using mod.rs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-06 12:04:52 +02:00
Wolfgang Bumiller
af06decd1b
split out pbs-buildcfg module
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-06 12:00:14 +02:00
Thomas Lamprecht
835d0e5dd3
memcom: rustfmt + (trailing) whitespace cleanups
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 21:34:03 +02:00
Dietmar Maurer
fda19dcc6f
fix CachedUserInfo by using a shared memory version counter
2021-06-30 08:54:30 +02:00
Stefan Reiter
c48c38ab8c
async_lru_cache: fix handling of errors in fetch
...
The future needs to be removed from the pending map in any case, even if
it returned an error, else all upcoming calls to access this key will
always return the same error.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-28 13:48:26 +02:00
Wolfgang Bumiller
1e7639bfc4
fixup minimum lru capacity
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-08 10:13:46 +02:00
Stefan Reiter
4121628d99
tools/lru_cache: make minimum capacity 1
...
Setting this to 0 is not just useless, but breaks the logic horribly
enough to cause random segfaults - better forbid this, to avoid someone
else having to debug it again ;)
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-06-08 09:42:55 +02:00
Stefan Reiter
5446bfbba8
tools: add AsyncLruCache as a wrapper around sync LruCache
...
Supports concurrent 'access' calls to the same key via a
BroadcastFuture. These are stored in a seperate HashMap, the LruCache
underneath is only modified once a valid value has been retrieved.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-06-08 09:42:34 +02:00
Stefan Reiter
400885e620
tools/BroadcastFuture: add testcase for better understanding
...
Explicitly test that data will stay available and can be retrieved
immediately via listen(), even if the future producing the data and
notifying the consumers was already run in the past.
Wasn't broken or anything, but helps with understanding IMO.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-06-08 09:42:29 +02:00
Dominik Csapak
f960fc3b6f
fix #3433 : use PVE's wearout logic in PBS
...
in PVE, the logic how wearout gets read from the smartctl output was
changed from a vendor -> id map to a sorted list of specific
attribute field names.
copy that list to pbs (in the same order), and use that to get the
wearout
in the future we might want to split the disk logic into its own crate
and reuse it in pve
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-08 08:31:37 +02:00
Wolfgang Bumiller
1d781c5b20
update proxmox-http dependency
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-05-17 11:29:24 +02:00
Fabian Grünbichler
7d2be91bc9
move SimpleHttp to proxmox_http
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:32:33 +02:00
Fabian Grünbichler
578895336a
SimpleHttp: factor out product-specific bits
...
in preparation of moving the abstraction to proxmox_http
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:32:22 +02:00
Fabian Grünbichler
8c090937f5
move tools::http to proxmox_http
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:31:54 +02:00
Fabian Grünbichler
4229633d98
move ProxyConfig to proxmox_http
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:31:27 +02:00
Fabian Grünbichler
3ed7e87538
HttpsConnector: make keepalive configurable
...
it's the only PBS-specific part in there, so let's make it
product-agnostic before moving it off to proxmox-http.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:31:15 +02:00
Fabian Grünbichler
5b43cc4487
move MaybeTlsStream wrapper to proxmox_http
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:30:05 +02:00
Fabian Grünbichler
3241392117
refactor: move socket helper to proxmox crate
...
and constant to tools module.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-05-17 10:29:42 +02:00
Dietmar Maurer
440472cb32
correctly set apt proxy configuration
2021-05-12 12:19:24 +02:00
Dylan Whyte
013fa2d886
fix #3296 : use proxy for subscriptions
...
Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
2021-05-10 08:48:05 +02:00
Wolfgang Bumiller
25d78b1068
client: use build_authority in build_uri
...
so we don't need to also duplicate the IPv6 bracket logic
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-05-06 10:27:40 +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
Wolfgang Bumiller
eaef6c8d00
Revert "temporarily disable broken test"
...
This reverts commit 888d89e2dd
.
The code this depends on should now be available.
2021-05-04 12:11:35 +02:00
Thomas Lamprecht
888d89e2dd
temporarily disable broken test
...
this test was added before the used NodeConfig schema was committed,
cannot work...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-29 16:18:20 +02:00
Wolfgang Bumiller
bc5c1a9aa6
add 'config file format' to tools::config
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-04-29 12:11:54 +02:00
Wolfgang Bumiller
134ed9e14f
CertInfo: add is_expired_after_epoch
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-04-29 11:07:04 +02:00
Wolfgang Bumiller
0796b642de
CertInfo: add not_{after, before}_unix
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-04-29 10:59:02 +02:00
Wolfgang Bumiller
a576e6685b
tools::fs::scan_subdir: use nix::Error instead of anyhow
...
allows using SysError trait on it
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-04-28 12:32:57 +02:00
Wolfgang Bumiller
b1c793cfa5
systemd: add reload_unit
...
via try-reload-or-restart
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-04-28 12:15:26 +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
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
Dominik Csapak
8fd1e10830
tools/sgutils2: add size workaround for mode_sense
...
Some drives will always return the number of bytes given in the
allocation_length field, but correctly report the data len in the mode
sense header. Simply ignore the excess data.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-27 11:37:03 +02:00
Dietmar Maurer
12509a6d9e
tape: improve inline docs
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
Dominik Csapak
6ee69fccd3
tools/sgutils2: improve error messages
...
include the expected and unexpected sizes in the error message,
so that it's easier to debug in case of an error
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-04-27 08:24:50 +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
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