]> git.proxmox.com Git - proxmox.git/log
proxmox.git
18 months agorest-server: cleanup unreadable code
Wolfgang Bumiller [Tue, 24 Jan 2023 10:41:52 +0000 (11:41 +0100)]
rest-server: cleanup unreadable code

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: use BAD_REQUEST for non-GET on file-paths
Wolfgang Bumiller [Tue, 24 Jan 2023 10:31:07 +0000 (11:31 +0100)]
rest-server: use BAD_REQUEST for non-GET on file-paths

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: make handle_request a method of ApiConfig
Wolfgang Bumiller [Tue, 24 Jan 2023 10:26:41 +0000 (11:26 +0100)]
rest-server: make handle_request a method of ApiConfig

This is what actually defines the API server after all.
The ApiService trait in between is a hyper impl detail.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: drop allocation in Service impl
Wolfgang Bumiller [Tue, 24 Jan 2023 10:22:27 +0000 (11:22 +0100)]
rest-server: drop allocation in Service impl

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: PeerAddr trait, drop proxmox-http dep
Wolfgang Bumiller [Tue, 24 Jan 2023 10:15:22 +0000 (11:15 +0100)]
rest-server: PeerAddr trait, drop proxmox-http dep

We pulled in proxmox-http with the client feature solely to
implement the `Service` trait on
`SslStream<RateLimitedStream<TcpStream>>`.

All those `Service` impls are the same: provide a peer
address and return an `ApiService`.
Let's put the `peer_addr()` call into a trait and build from
there.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: make socketpair private
Wolfgang Bumiller [Tue, 24 Jan 2023 10:14:35 +0000 (11:14 +0100)]
rest-server: make socketpair private

`proxmox_rest_server::socketpair` doesn't make sense as an
external API

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorest-server: start 0.3 api refactoring
Wolfgang Bumiller [Tue, 24 Jan 2023 10:14:20 +0000 (11:14 +0100)]
rest-server: start 0.3 api refactoring

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agoldap: test fixup
Wolfgang Bumiller [Thu, 2 Mar 2023 14:44:11 +0000 (15:44 +0100)]
ldap: test fixup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agosys: drop sortable and identity macros
Wolfgang Bumiller [Wed, 1 Mar 2023 12:40:39 +0000 (13:40 +0100)]
sys: drop sortable and identity macros

We should not use the sys crate to pull in the sortable
macro, just depend on its crate instead...
And the identity macro used to be required by the sortable
macro, but is not anymore and has been deprecated for a
while, so we can now drop it.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
18 months agorouter: make format&print generic
Wolfgang Bumiller [Tue, 28 Feb 2023 13:52:59 +0000 (14:52 +0100)]
router: make format&print generic

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agorelease proxmox-ldap to 0.1.0-1
Wolfgang Bumiller [Fri, 10 Feb 2023 09:36:40 +0000 (10:36 +0100)]
release proxmox-ldap to 0.1.0-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agobump proxmox-rest-server to 0.2.2-1
Wolfgang Bumiller [Fri, 10 Feb 2023 09:35:24 +0000 (10:35 +0100)]
bump proxmox-rest-server to 0.2.2-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agorest-server: add handle_worker from backup debug cli
Lukas Wagner [Thu, 9 Feb 2023 13:31:11 +0000 (14:31 +0100)]
rest-server: add handle_worker from backup debug cli

The function has now multiple users, so it is moved
here.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: fixup d/control
Wolfgang Bumiller [Wed, 8 Feb 2023 13:30:52 +0000 (14:30 +0100)]
ldap: fixup d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agoldap: drop Ldap prefix from types that have it
Wolfgang Bumiller [Wed, 8 Feb 2023 13:29:12 +0000 (14:29 +0100)]
ldap: drop Ldap prefix from types that have it

for a bit more consistency and since we tend to repeat stuff
too much

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agofix 'default-features = false' for ldap3
Wolfgang Bumiller [Wed, 8 Feb 2023 13:26:34 +0000 (14:26 +0100)]
fix 'default-features = false' for ldap3

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agoldap: clippy fixups
Wolfgang Bumiller [Wed, 8 Feb 2023 13:15:44 +0000 (14:15 +0100)]
ldap: clippy fixups

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
19 months agoldap: add debian packaging
Lukas Wagner [Tue, 24 Jan 2023 10:03:37 +0000 (11:03 +0100)]
ldap: add debian packaging

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: tests: add LDAP integration tests
Lukas Wagner [Tue, 24 Jan 2023 10:03:36 +0000 (11:03 +0100)]
ldap: tests: add LDAP integration tests

This commit adds integration tests to ensure that the crate works as intended.
The tests are executed against a real LDAP server, namely `glauth`. `glauth` was
chosen because it ships as a single, statically compiled binary and can
be configured with a single configuration file.

The tests are written as off-the-shelf unit tests. However, they are
 #[ignored] by default, as they have some special requirements:
   * They required the GLAUTH_BIN environment variable to be set,
     pointing to the location of the `glauth` binary. `glauth` will be
     started and stopped automatically by the test suite.
   * Tests have to be executed sequentially (`--test-threads 1`),
     otherwise multiple instances of the glauth server might bind to the
     same port.

The `run_integration_tests.sh` checks whether GLAUTH_BIN is set, or if
not, attempts to find `glauth` on PATH. The script also ensures that the
tests are run sequentially.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: allow searching for LDAP entities
Lukas Wagner [Tue, 24 Jan 2023 10:03:35 +0000 (11:03 +0100)]
ldap: allow searching for LDAP entities

This commit adds the search_entities function, which allows to search for
LDAP entities given certain provided criteria.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: add helpers for constructing LDAP filters
Lukas Wagner [Tue, 24 Jan 2023 10:03:34 +0000 (11:03 +0100)]
ldap: add helpers for constructing LDAP filters

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: add basic user auth functionality
Lukas Wagner [Tue, 24 Jan 2023 10:03:33 +0000 (11:03 +0100)]
ldap: add basic user auth functionality

In the LDAP world, authentication is done using the bind operation, where
users are authenticated with the tuple (dn, password). Since we only know
the user's username, it is first necessary to look up the user's
domain (dn).

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agoldap: create new `proxmox-ldap` crate
Lukas Wagner [Tue, 24 Jan 2023 10:03:32 +0000 (11:03 +0100)]
ldap: create new `proxmox-ldap` crate

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
19 months agosys: fixup error types handling
Thomas Lamprecht [Thu, 2 Feb 2023 15:32:37 +0000 (16:32 +0100)]
sys: fixup error types handling

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agosys: cope with unavailable KSM sharing info
Thomas Lamprecht [Thu, 2 Feb 2023 15:12:15 +0000 (16:12 +0100)]
sys: cope with unavailable KSM sharing info

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
20 months agobump proxmox-time to 1.1.5-1
Wolfgang Bumiller [Thu, 12 Jan 2023 13:21:44 +0000 (14:21 +0100)]
bump proxmox-time to 1.1.5-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
20 months agore-add proxmox-uuid d/control
Wolfgang Bumiller [Thu, 12 Jan 2023 13:22:48 +0000 (14:22 +0100)]
re-add proxmox-uuid d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
20 months agobump proxmox-uuid to 1.0.2-1
Wolfgang Bumiller [Thu, 12 Jan 2023 12:48:54 +0000 (13:48 +0100)]
bump proxmox-uuid to 1.0.2-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
20 months agoupdate d/control files
Fabian Grünbichler [Thu, 5 Jan 2023 11:17:00 +0000 (12:17 +0100)]
update d/control files

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump proxmox-rest-server to 0.2.1-1
Fabian Grünbichler [Thu, 5 Jan 2023 11:15:14 +0000 (12:15 +0100)]
bump proxmox-rest-server to 0.2.1-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump proxmox-shared-memory to 0.2.3-1
Fabian Grünbichler [Thu, 5 Jan 2023 11:13:53 +0000 (12:13 +0100)]
bump proxmox-shared-memory to 0.2.3-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump proxmox-router to 1.3.1-1
Fabian Grünbichler [Thu, 5 Jan 2023 11:10:00 +0000 (12:10 +0100)]
bump proxmox-router to 1.3.1-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump proxmox-schema to 1.3.6-1
Fabian Grünbichler [Thu, 5 Jan 2023 11:08:58 +0000 (12:08 +0100)]
bump proxmox-schema to 1.3.6-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agobump proxmox-sys to 0.4.2-1
Fabian Grünbichler [Thu, 5 Jan 2023 11:07:01 +0000 (12:07 +0100)]
bump proxmox-sys to 0.4.2-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoupdate nix to 0.26
Fabian Grünbichler [Thu, 5 Jan 2023 10:16:50 +0000 (11:16 +0100)]
update nix to 0.26

it's the version currently shipped by bookworm, so let's unify this widely-used
dependency to make bootstrapping easier.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
20 months agoupdate d/control
Fabian Grünbichler [Thu, 5 Jan 2023 10:18:52 +0000 (11:18 +0100)]
update d/control

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agore-add epoch_to_rfc3339_utc on wasm target
Dietmar Maurer [Thu, 15 Dec 2022 12:35:53 +0000 (13:35 +0100)]
re-add epoch_to_rfc3339_utc on wasm target

This was lost in commit 980d6b26df0e886795f5121036eed0a7511e11dd.

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
21 months agoclippy fix
Fabian Grünbichler [Tue, 13 Dec 2022 13:55:24 +0000 (14:55 +0100)]
clippy fix

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agosection-config: silence clippy
Fabian Grünbichler [Tue, 13 Dec 2022 13:37:55 +0000 (14:37 +0100)]
section-config: silence clippy

these two functions don't actually use the `type_name` parameter, but the
interface including custom formatters require it.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agosection-config: make ReST dump reproducible
Fabian Grünbichler [Tue, 13 Dec 2022 13:37:54 +0000 (14:37 +0100)]
section-config: make ReST dump reproducible

HashMaps are not ordered, so each package build containing a section config
dump would have the documentation ordered randomly.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agosection config: fix handling array schema in unknown sections
Fiona Ebner [Wed, 30 Nov 2022 13:12:30 +0000 (14:12 +0100)]
section config: fix handling array schema in unknown sections

Mostly relevant when the config is written out again after parsing it
with unknown sections. Previously, with duplicate keys, only the last
value would be saved. Now, duplicate keys are assumed to be part of
an array schema and handled as such.

Because the unknown section parsing does not know if a certain
property does actually have an array schema, it's not possible to
detect duplicate keys for non-array-schema properties, and if a
property with array-schema shows up only once, it will not be saved as
a Value::Array, but a Value::String.

Writing, or to be precise the format_section_content methods, already
handle Value::Array, so don't need to be adapted.

Fixes: 0cd0d16 ("section config: support allowing unknown section types")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
21 months agosection config: add test for array schema
Fiona Ebner [Wed, 30 Nov 2022 13:12:29 +0000 (14:12 +0100)]
section config: add test for array schema

where duplicate keys are allowed.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
21 months agodeps: bump api-macro to current version
Wolfgang Bumiller [Mon, 12 Dec 2022 10:51:08 +0000 (11:51 +0100)]
deps: bump api-macro to current version

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agobump proxmox-api-macro to 1.0.4-1
Wolfgang Bumiller [Mon, 12 Dec 2022 10:32:36 +0000 (11:32 +0100)]
bump proxmox-api-macro to 1.0.4-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoapi: support #[default] attribute
Wolfgang Bumiller [Mon, 12 Dec 2022 10:30:46 +0000 (11:30 +0100)]
api: support #[default] attribute

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoupdate/extend README.rst
Fabian Grünbichler [Mon, 12 Dec 2022 09:39:11 +0000 (10:39 +0100)]
update/extend README.rst

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoworkspace: switch remaining dependencies
Fabian Grünbichler [Mon, 12 Dec 2022 09:18:07 +0000 (10:18 +0100)]
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>
21 months agoupdate d/control
Fabian Grünbichler [Mon, 12 Dec 2022 10:02:48 +0000 (11:02 +0100)]
update d/control

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoio: add boxed module for boxed bytes like vec::zeroed...
Wolfgang Bumiller [Wed, 7 Dec 2022 10:20:38 +0000 (11:20 +0100)]
io: add boxed module for boxed bytes like vec::zeroed...

- proxmox_io::boxed::uninitialized(len) -> Box<[u8]>
  same as vec::uninitialized, but as a box

- proxmox_io::boxed::zeroed(len) -> Box<[u8]>
  same as vec::zeroed, but as a box

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoio: deny unsafe_op_in_unsafe_fn
Wolfgang Bumiller [Wed, 7 Dec 2022 10:20:25 +0000 (11:20 +0100)]
io: deny unsafe_op_in_unsafe_fn

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agomore workspace dependencies
Fabian Grünbichler [Mon, 12 Dec 2022 08:30:30 +0000 (09:30 +0100)]
more workspace dependencies

regex was missed in the first pass, and two intra-workspace dev-dependencies as
well.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoswitch exclude to workspace in README
Fabian Grünbichler [Fri, 9 Dec 2022 12:31:41 +0000 (13:31 +0100)]
switch exclude to workspace in README

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agobuildsys: get crate list via cargo metadata in Makefile
Wolfgang Bumiller [Fri, 9 Dec 2022 12:16:02 +0000 (13:16 +0100)]
buildsys: get crate list via cargo metadata in Makefile

so we don't have to keep this in sync manually

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoadd bump.sh
Fabian Grünbichler [Wed, 7 Dec 2022 09:16:33 +0000 (10:16 +0100)]
add bump.sh

for bumping crates in this workspace (it requires cargo-edit being installed).

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoproxmox-time: drop TryFrom use statement
Fabian Grünbichler [Wed, 7 Dec 2022 07:52:57 +0000 (08:52 +0100)]
proxmox-time: drop TryFrom use statement

no longer needed with edition 2021

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoupdate d/control files
Fabian Grünbichler [Wed, 7 Dec 2022 08:07:22 +0000 (09:07 +0100)]
update d/control files

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoupdate outdated workspace dependencies
Fabian Grünbichler [Wed, 7 Dec 2022 08:02:13 +0000 (09:02 +0100)]
update outdated workspace dependencies

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoupdate d/control files
Fabian Grünbichler [Wed, 7 Dec 2022 07:56:31 +0000 (08:56 +0100)]
update d/control files

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agodefine workspace dependencies in workspace
Fabian Grünbichler [Wed, 7 Dec 2022 07:42:52 +0000 (08:42 +0100)]
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>
21 months agoupdate d/control files
Fabian Grünbichler [Tue, 6 Dec 2022 12:50:00 +0000 (13:50 +0100)]
update d/control files

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoinherit shared, external dependencies
Fabian Grünbichler [Tue, 6 Dec 2022 12:43:42 +0000 (13:43 +0100)]
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>
21 months agomove common metadata to workspace
Fabian Grünbichler [Tue, 6 Dec 2022 11:18:46 +0000 (12:18 +0100)]
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>
21 months agoupdate d/control files
Fabian Grünbichler [Tue, 6 Dec 2022 10:21:43 +0000 (11:21 +0100)]
update d/control files

debcargo 2.6 changed some minor details

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agouse statement fixup
Wolfgang Bumiller [Wed, 30 Nov 2022 08:36:02 +0000 (09:36 +0100)]
use statement fixup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoclippy 1.65 fixes
Fabian Grünbichler [Mon, 5 Dec 2022 10:17:37 +0000 (11:17 +0100)]
clippy 1.65 fixes

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoproxmox-schema: bump to 1.3.5
Fabian Grünbichler [Thu, 1 Dec 2022 10:08:47 +0000 (11:08 +0100)]
proxmox-schema: bump to 1.3.5

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoschema: update to textwrap 0.16
Fabian Grünbichler [Thu, 1 Dec 2022 10:06:41 +0000 (11:06 +0100)]
schema: update to textwrap 0.16

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agobump proxmox-section-config to 1.0.2-1
Wolfgang Bumiller [Mon, 28 Nov 2022 08:29:29 +0000 (09:29 +0100)]
bump proxmox-section-config to 1.0.2-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agominor doc fixup
Wolfgang Bumiller [Mon, 28 Nov 2022 08:27:27 +0000 (09:27 +0100)]
minor doc fixup

an 'ignore' block assumes rust syntax, a 'text' block should
just be plain text

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agosection config: support allowing unknown section types
Fiona Ebner [Fri, 25 Nov 2022 15:15:35 +0000 (16:15 +0100)]
section config: support allowing unknown section types

Similar to commit c9ede1c ("support unknown types in section config")
in pve-common.

Unknown sections are parsed as String-JSON String key-value pairs
without any additional checks and also written as-is.

Suggested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
22 months agosubscription: recognize 'Suspended' status
Thomas Lamprecht [Thu, 20 Oct 2022 07:41:04 +0000 (09:41 +0200)]
subscription: recognize 'Suspended' status

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agobump proxmox-section-config to 1.0.1-1
Wolfgang Bumiller [Mon, 24 Oct 2022 12:06:55 +0000 (14:06 +0200)]
bump proxmox-section-config to 1.0.1-1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosection-config: expose order
Wolfgang Bumiller [Mon, 24 Oct 2022 11:45:56 +0000 (13:45 +0200)]
section-config: expose order

we already expose the raw sections which are sometimes
easier to use, but we don't expose the order at all this way
otherwise

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosection-config: use Vec for section order
Wolfgang Bumiller [Mon, 24 Oct 2022 11:44:22 +0000 (13:44 +0200)]
section-config: use Vec for section order

We use none of the additional functionality provided by
VecDeque.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosection config: parse additional properties when schema allows it
Fiona Ebner [Fri, 21 Oct 2022 13:02:44 +0000 (15:02 +0200)]
section config: parse additional properties when schema allows it

Additional properties will be parsed according to the default string
schema.

This is relevant for use cases when the full schema is not known for
some reason or another. In particular this allows support for parsing
older/newer versions of configuration files. One example of this is
the proposed proxmox-mail-forward helper binary, which currently
doesn't have access to the PBS API types for dependency reasons and
is only interested in the email field for the root user. If it can
only use a minimal schema with additional_properties set to true, it
will be robust against changes.

Writing already works, because the ObjectSchema's verify_json()
already handles additional_properties correctly and
format_section_content() handles them like all other properties
(method doesn't depend on the schema).

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
23 months agosys: impl AsFd for PTY
Wolfgang Bumiller [Wed, 19 Oct 2022 12:36:45 +0000 (14:36 +0200)]
sys: impl AsFd for PTY

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosys: impl AsFd for PidFd
Wolfgang Bumiller [Wed, 19 Oct 2022 12:35:07 +0000 (14:35 +0200)]
sys: impl AsFd for PidFd

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump sys to 0.4.1
Wolfgang Bumiller [Wed, 19 Oct 2022 12:20:31 +0000 (14:20 +0200)]
bump sys to 0.4.1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoproxmox-http: fix last changelog entry
Fabian Grünbichler [Wed, 19 Oct 2022 12:17:12 +0000 (14:17 +0200)]
proxmox-http: fix last changelog entry

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agosys: deprecate RawFdNum
Wolfgang Bumiller [Wed, 19 Oct 2022 11:55:47 +0000 (13:55 +0200)]
sys: deprecate RawFdNum

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosys: add From<OwnedFd/Fd> for Fd/OwnedFd temporarily
Wolfgang Bumiller [Wed, 19 Oct 2022 11:49:16 +0000 (13:49 +0200)]
sys: add From<OwnedFd/Fd> for Fd/OwnedFd temporarily

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agorest-server: update to OwnedFd
Wolfgang Bumiller [Wed, 19 Oct 2022 10:13:03 +0000 (12:13 +0200)]
rest-server: update to OwnedFd

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosys: deprecate Fd, add its methods as module functions
Wolfgang Bumiller [Wed, 19 Oct 2022 11:25:08 +0000 (13:25 +0200)]
sys: deprecate Fd, add its methods as module functions

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosys: deprecate BorrowedFd
Wolfgang Bumiller [Wed, 19 Oct 2022 08:55:03 +0000 (10:55 +0200)]
sys: deprecate BorrowedFd

std has this now, stable since 1.63

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump edition in rustfmt.toml
Wolfgang Bumiller [Thu, 13 Oct 2022 13:00:28 +0000 (15:00 +0200)]
bump edition in rustfmt.toml

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agorest-server: add packaging and bump to 0.2.0
Thomas Lamprecht [Tue, 11 Oct 2022 12:47:35 +0000 (14:47 +0200)]
rest-server: add packaging and bump to 0.2.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agocargo: rest-server: set license property
Thomas Lamprecht [Tue, 11 Oct 2022 12:46:03 +0000 (14:46 +0200)]
cargo: rest-server: set license property

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoMerge remote-tracking branch 'proxmox-rest-merge/master'
Thomas Lamprecht [Tue, 11 Oct 2022 13:09:28 +0000 (15:09 +0200)]
Merge remote-tracking branch 'proxmox-rest-merge/master'

split out from proxmox-backup using `git filter-repo` including
history with the following --paths-from-file:

```
proxmox-rest-server
src/api/server.rs
src/server/command_socket.rs
src/server/config.rs
src/server/environment.rs
src/server/formatter.rs
src/server/h2service.rs
src/server/rest.rs
src/server/state.rs
src/tools/compression.rs
src/tools/daemon.rs
src/tools/file_logger.rs
src/worker_task.rs
```

23 months agocargo fmt
Fabian Grünbichler [Tue, 11 Oct 2022 07:48:11 +0000 (09:48 +0200)]
cargo fmt

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoclippy fixes
Fabian Grünbichler [Tue, 11 Oct 2022 07:47:13 +0000 (09:47 +0200)]
clippy fixes

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agometrics: bump to 0.2.1
Fabian Grünbichler [Wed, 7 Sep 2022 07:32:29 +0000 (09:32 +0200)]
metrics: bump to 0.2.1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosubscription: bump to 0.3.0
Fabian Grünbichler [Wed, 7 Sep 2022 07:31:23 +0000 (09:31 +0200)]
subscription: bump to 0.3.0

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoupdate proxmox-router to 1.3.0
Fabian Grünbichler [Wed, 7 Sep 2022 07:21:41 +0000 (09:21 +0200)]
update proxmox-router to 1.3.0

no real change for PBS usage - the ApiHandler enum is marked
non_exhaustive now because it has extra values if the new (enabled by
default) "server" feature is enabled.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoupdate to proxmox-http 0.7
Fabian Grünbichler [Fri, 19 Aug 2022 11:27:14 +0000 (13:27 +0200)]
update to proxmox-http 0.7

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosubscription: properly forward verification error
Fabian Grünbichler [Wed, 7 Sep 2022 11:04:49 +0000 (13:04 +0200)]
subscription: properly forward verification error

when verifying the server response used for offline mirror keys.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosubscription: use lowercase for Display-ing status
Fabian Grünbichler [Wed, 7 Sep 2022 11:04:44 +0000 (13:04 +0200)]
subscription: use lowercase for Display-ing status

2 years agosubscription: properly alias 'notfound'
Fabian Grünbichler [Wed, 7 Sep 2022 08:42:51 +0000 (10:42 +0200)]
subscription: properly alias 'notfound'

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosubscription: conditionalize checks
Fabian Grünbichler [Wed, 7 Sep 2022 08:40:45 +0000 (10:40 +0200)]
subscription: conditionalize checks

signed subscription info files should always be checked to catch
attempts of invalid signatures, but the age and serverid checks only
need to apply to "active" files, else the status might switch from a
more meaningful one to "invalid" by accident.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosubscription: add Expired status
Fabian Grünbichler [Wed, 7 Sep 2022 07:03:02 +0000 (09:03 +0200)]
subscription: add Expired status

this can be returned by the shop when checking an online subscription.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agohttp: bump to 0.7.0
Fabian Grünbichler [Mon, 22 Aug 2022 11:59:15 +0000 (13:59 +0200)]
http: bump to 0.7.0

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>