Commit Graph

52 Commits

Author SHA1 Message Date
Wolfgang Bumiller
d6e86d670b tree-wide: unify workspace inherited attributes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-09-20 08:42:45 +02:00
Wolfgang Bumiller
122f88d273 async: bump to 0.4.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-08-14 11:06:22 +02:00
Maximiliano Sandoval
6c0f6890e4 async: remove lazy_static dependency
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
2024-08-14 10:33:42 +02:00
Wolfgang Bumiller
e3a5ff78f4 async, sys: replace deprecated io_err_other
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-07-26 13:09:33 +02:00
Wolfgang Bumiller
0652d81977 tree-wide: enable doc_cfg and doc_auto_cfg for docs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-07-02 11:59:53 +02:00
Wolfgang Bumiller
3663ae8255 async: bump to 0.4.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-06-20 14:30:10 +02:00
Max Carrara
1f351625a5 async: runtime: Modernise module and update docs
This commit updates all helper functions, taking into account recent
developments regarding `tokio`.

In particular, the `block_in_place()` and `block_on()` functions now
don't panic anymore if used within the single-threaded `tokio` runtime
and instead behave as expected in both runtime flavours.

Furthermore, because `tokio` may add more runtime flavours in the
future, all helpers will now panic if used within an unsupported
runtime. This is to prevent unforeseen behavioural quirks and
interactions with `tokio` internals.

The above changes make `BlockingGuard` redundant; it is consequently
removed.

The documentation is also updated, describing the behaviour of the
helper functions and the purpose of the `runtime.rs` module in more
detail.

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
2023-08-23 09:51:52 +02:00
Wolfgang Bumiller
4508c8b23c add some missing d/source/format files
For crates which already used (native) versioning.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-06-02 08:44:50 +02:00
Wolfgang Bumiller
8f8d52f148 update d/copyright files to debian copyright-format 1.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-23 13:02:39 +02:00
Fabian Grünbichler
ee8419cf2d workspace: switch remaining dependencies
while these are (currently) only used by a single member each, having *all*
dependency versions specified in the top level Cargo.toml only makes the whole
process of managing them less error-prone.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-12 11:05:30 +01:00
Fabian Grünbichler
e5abc0590e define workspace dependencies in workspace
so that we no longer have to (or forget to) bump the version in multiple places.

notable changes:
- outdated versions have been unified
- proxmox-metrics -> proxmox-async no longer uses explicit empty features
  (proxmox-async doesn't provide any anyway)
- proxmox-subscription -> proxmox-http no longer uses explicit default_features
  = false (proxmox-http has an empty default feature anyway)
- missing path dependencies added (mainly proxmox-rest-server)

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-07 09:48:38 +01:00
Fabian Grünbichler
6c161bd5ab update d/control files
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-07 09:48:38 +01:00
Fabian Grünbichler
4189221470 inherit shared, external dependencies
noteworthy changes:
- proxmox-http had a default_features_false dep on hyper, which is dropped (the
  default feature is empty anyway)
- hyper, libc, nix, tokio and url versions are unified
- missing (cosmetic) bindgen feature on zstd enabled everywhere

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-07 09:48:38 +01:00
Fabian Grünbichler
64959d9ae0 move common metadata to workspace
and switch all crates to 2021 edition as well as a unified "authors" value.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-07 09:48:25 +01:00
Fabian Grünbichler
5ec765f842 update d/control files
debcargo 2.6 changed some minor details

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-12-06 11:21:43 +01:00
Wolfgang Bumiller
27c8106d7b bump proxmox-async to 0.4.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-04-12 14:22:59 +02:00
Dominik Csapak
9471ba9969 proxmox-async: add SenderWriter helper
this wraps around a tokio Sender for Vec<u8>, but implements a blocking
write. We can use thas as an adapter for something that only takes a
writer, and can read from it asynchonously

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-04-12 14:05:14 +02:00
Wolfgang Bumiller
1e75baecb0 bump proxmox-async to 0.4.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-21 14:20:13 +01:00
Dominik Csapak
b8bf6a5c81 split out compression code into new crate 'proxmox-compression'
this removes quite a bit of dependecies of proxmox-async

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
[set proxmox-lang dep to 1.1]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-21 14:10:53 +01:00
Wolfgang Bumiller
57d052af36 workspace: set proxmox-lang dep version to 1.1
to ensure the error macros are available

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-21 13:45:46 +01:00
Dominik Csapak
d4b4115400 move io error helpers to proxmox-lang
this removes proxmox_sys as a dependecy for proxmox-async

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-21 13:35:14 +01:00
Fabian Grünbichler
9ba2092d1b proxmox-async: rustfmt (again)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-08 14:52:42 +01:00
Fabian Grünbichler
09d1344d61 proxmox-async: another clippy fixup
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-08 14:33:50 +01:00
Wolfgang Bumiller
9539fbde1c proxmox-async: clippy fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-08 14:26:46 +01:00
Wolfgang Bumiller
41862eeb95 bump proxmox-async to 0.3.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-02 13:21:55 +01:00
Wolfgang Bumiller
de891b1f76 proxmox_async: rustfmt
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-02 12:55:01 +01:00
Wolfgang Bumiller
807a70cecc proxmox_async: move io::udp to net::udp
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-02 12:54:39 +01:00
Dominik Csapak
9ebf24b4f8 proxmox-async: add udp::connect() helper
so that we do not have to always check the target ipaddr family manually

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-02 12:43:48 +01:00
Wolfgang Bumiller
ff132e93c6 rustfmt
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-20 10:12:02 +01:00
Wolfgang Bumiller
175648763d bump proxmox-async to 0.3.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-20 10:10:16 +01:00
Wolfgang Bumiller
d0a3e38006 drop RawWaker usage
this was also leaking a refcount before, this is fixed now

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-01-20 10:08:05 +01:00
Thomas Lamprecht
1d72829310 proxmox-async: bump version to 0.3.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-01-12 15:54:06 +01:00
Dominik Csapak
e4974b9891 fix #3618: proxmox-async: zip: add conditional EFS flag to zip files
this flag marks the file names as 'UTF-8' encoded if they are valid UTF-8.

By default, encoding of file names in zips are defined as code page 437,
but we save the filenames as bytes (like in linux fs).

For linux systems this would not be a problem since most tools
simply use the filenames as bytes, but for the zip utility under
windows it's important since NTFS uses UTF-16 for file names.

For filenames that are valid UTF-8, they are decoded as UTF-8 everywhere
correctly (Linux as UTF-8 bytes, Windows as correct UTF-16 sequence) and
for other filenames with a high bit set, it depends on the OS/Software
what exactly happens. Some cases below:

* Windows + Built-in/7zip: decoded as CP437
* Debian + zip: Bytes taken as-is
* Debian + 7z: interpreted as Windows1252, decoded as UTF-8

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2022-01-11 06:31:58 +01:00
Fabian Grünbichler
1cc9b91c4f async: track d/control
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-30 11:51:08 +01:00
Fabian Grünbichler
e8cb382442 add missing library dependencies
without these, the generated d/control files are incomplete and builds
fail on clean systems.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-30 11:51:08 +01:00
Fabian Grünbichler
50dc2daddb fixup changelog entry
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-02 09:12:30 +01:00
Fabian Grünbichler
a81b2672d8 clippy: remove unnecessary reference taking
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-02 08:58:10 +01:00
Dietmar Maurer
82245339b8 use new proxmox-sys 0.2.0 for all crates
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
ffbf58cad3 bump proxmox-async version to 0.2.0 2021-11-20 17:07:52 +01:00
Dietmar Maurer
cab125297b proxmox-async: improve dev docs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-20 17:07:52 +01:00
Dietmar Maurer
5bd54b4d9b proxmox-async: move AsyncChannelWriter to src/io
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-20 17:07:52 +01:00
Dietmar Maurer
7b7247fa80 proxmox-async: move TokioWriterAdapter to blocking
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-20 16:38:36 +01:00
Dietmar Maurer
6c4982bd7c proxmox-async: remove duplicate src/stream/wrapped_reader_stream.rs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-20 16:15:05 +01:00
Dietmar Maurer
781b5161bd proxmox-async: split stream.rs into separate files
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-20 16:12:55 +01:00
Dietmar Maurer
fa2032c7aa proxmox-async: split blocking.rs into separate files 2021-11-20 15:58:04 +01:00
Dietmar Maurer
4413002f22 proxmox-async: add copyright file
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 16:43:19 +01:00
Dietmar Maurer
b63229bf1d proxmox-async: imported pbs-tools/src/zip.rs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 16:42:11 +01:00
Dietmar Maurer
64dca3c869 proxmox-async: imported pbs-tools/src/compression.rs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 16:42:11 +01:00
Dietmar Maurer
112b239d50 proxmox-async: imported pbs-tools/src/tokio/tokio_writer_adapter.rs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 16:42:11 +01:00
Dietmar Maurer
743f7df2a5 proxmox-async: imported pbs-tools/src/stream.rs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 16:42:11 +01:00