Dietmar Maurer
efeccc11cc
make get_index and ApiConfig property (callback)
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
3d73529460
rest server: simplify get_index() method signature
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
cc67441662
move normalize_uri_path and extract_cookie to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
fbe0de85d0
move src/tools/compression.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
dc28aa1ae7
move src/server/formatter.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
ba04dfb9b2
move src/server/environment.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
51d84f9847
move src/tools/daemon.rs to proxmox-rest-server workspace
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
ca7a26166f
move ApiConfig, FileLogger and CommandoSocket to proxmox-rest-server workspace
...
ApiConfig: avoid using pbs_config::backup_user()
CommandoSocket: avoid using pbs_config::backup_user()
FileLogger: avoid using pbs_config::backup_user()
- use atomic_open_or_create_file()
Auth Trait: moved definitions to proxmox-rest-server/src/lib.rs
- removed CachedUserInfo patrameter
- return user as String (not Authid)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
2e426f9df2
start new proxmox-rest-server workspace
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-21 08:46:41 +02:00
Dietmar Maurer
3cd221c163
bump proxmox version to 0.13.3-1
2021-09-21 06:45:28 +02:00
Dietmar Maurer
b6b9118ce3
atomic_open_or_create_file: add support for OFlag::O_EXCL
2021-09-20 08:24:44 +02:00
Dietmar Maurer
b46a0720ae
atomic_open_or_create_file: catch unsupported flag OFlag::O_DIRECTORY
2021-09-20 08:13:28 +02:00
Dietmar Maurer
c7e1a1f3c8
update proxmox/debian/control
2021-09-20 08:12:18 +02:00
Dietmar Maurer
297a076478
bump proxmox version to 0.13.2-1
2021-09-16 11:03:27 +02:00
Dietmar Maurer
fb2b7a4e93
impl <T: UserInformation> UserInformation for std::sync::Arc<T>
2021-09-16 10:21:50 +02:00
Dominik Csapak
254ef7ff82
proxmox: generate_usage_str: don't require static lifetimes
...
this prevents us from using it under certain conditions and it's
actually not necessary, so drop them
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-09-15 08:09:24 +02:00
Dietmar Maurer
c983a1d623
avoid type re-exports
2021-09-14 08:35:43 +02:00
Dietmar Maurer
908d87f6cb
more api type cleanups: avoid re-exports
2021-09-10 12:25:32 +02:00
Dietmar Maurer
bc6ad1dfce
move user configuration to pbs_config workspace
...
Also moved memcom.rs and cached_user_info.rs
2021-09-10 07:09:04 +02:00
Dietmar Maurer
93dfd7d8e9
start new pbs-config workspace
...
moved src/config/domains.rs
2021-09-02 12:58:20 +02:00
Wolfgang Bumiller
6a52b3b8e7
proxmox: bump d/control for api-macro 0.5.1
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-30 10:49:27 +02:00
Wolfgang Bumiller
36ed21c548
bump proxmox to 0.13.1-1
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-30 10:47:28 +02:00
Wolfgang Bumiller
cb96de1c4d
bump proxmox-api-macro to 0.5.1-1
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-30 10:46:05 +02:00
Wolfgang Bumiller
14bd81fbc4
doc: update UpdaterType documentation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-30 08:21:08 +02:00
Wolfgang Bumiller
76641b0a72
api-macro: allow external schemas in 'returns' specification
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-26 13:34:23 +02:00
Wolfgang Bumiller
bf84e75603
api: move ReturnType from router to schema
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-26 11:39:55 +02:00
Wolfgang Bumiller
0f2caafc4e
bump proxmox to 0.13.0-1 and proxmox-api-macro to 0.5.0
...
and proxmox-http to 0.4.0... urgh
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-25 09:41:17 +02:00
Wolfgang Bumiller
2df0b8efb3
tools::serde: support Option<String> in string_as_base64
...
This will make Updater derivations go more smoothly.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-25 09:41:17 +02:00
Wolfgang Bumiller
8c125364e4
websocket: fix doc test
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-24 15:19:47 +02:00
Wolfgang Bumiller
917ce00dd6
rustfmt
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-13 13:31:57 +02:00
Wolfgang Bumiller
744d69c2ab
more updater cleanups
...
* Updatable is now named UpdaterType
* UPDATER_IS_OPTION is now assumed to always be true
While an updater can be a non-optional struct, being an
updater, all its fields are also Updaters, so after
expanding all levels of nesting, the resulting list of
fields can only contain optional values.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-13 11:11:27 +02:00
Wolfgang Bumiller
cb9d57b453
put API_SCHEMA variable into ApiType trait
...
This way we can assign `API_SCHEMA` constants to `Option`
types.
Here's why:
The api-macro generated code usese `T::API_SCHEMA` when
building ObjectSchemas.
For Updaters we replace `T` with
`<T as Updatable>::Updater`
This means for "simple" wrappers like our `Authid` or
`Userid`, the ObjectSchema will try to refer to
`<Authid as Updatable>::Updater::API_SCHEMA`
which resolves to:
`Option<Authid>::API_SCHEMA`
which does not exist, for which we cannot add a normal
`impl` block to add the schema variable, since `Option` is
not "ours".
But we now have a blanket implementation of `ApiType` for
`Option<T> where T: ApiType` which just points to the
original `T::API_SCHEMA`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-12 10:15:13 +02:00
Wolfgang Bumiller
783cbcb499
fixup schema entry for updaters with explicit types
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-10 14:17:20 +02:00
Wolfgang Bumiller
34020ea3d6
change updater derivation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-10 12:03:29 +02:00
Wolfgang Bumiller
017b81712e
api macro: assume that field types are api types by default
...
#[api]
struct Foo {
field: Bar,
}
does not require the use of
#[api(
properties: {
field: {
type: Bar,
},
},
)]
anymore
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-10 11:42:24 +02:00
Wolfgang Bumiller
8ebcd68a2c
refactor serde parsing for later reuse
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-08-10 11:42:24 +02:00
Thomas Lamprecht
cb04553d47
proxmox: d/control: commit version update changes
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-22 09:53:38 +02:00
Thomas Lamprecht
907a9f344d
proxmox: bump version to 0.12.1-1
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-22 09:48:04 +02:00
Thomas Lamprecht
3fd900d2b2
tools fs: rust fmt
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-22 09:44:17 +02:00
Wolfgang Bumiller
11dccc40b5
fs: link fallback for atomic create
...
Some file systems don't support renameat2's RENAME_NOREPLACE
flag (eg. ZFS), at the some time, some other file systems
don't support hardlinks via link (eg. vfat, cifs), so we now
try both: first the rename (since it's more efficient), then
link+unlink for the rest.
If both fail, the file system is simply not supported for
our purposes anyway...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-22 09:41:04 +02:00
Thomas Lamprecht
2d9a018854
proxmox: bump api-macro dependency
...
cyclic stuff is annoying...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-20 17:45:58 +02:00
Thomas Lamprecht
c75e706006
proxmox-api-macro: bump version to 0.4.0
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-20 17:45:29 +02:00
Thomas Lamprecht
44d571a8e0
proxmox-http: bump version to 0.3.0
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-20 17:45:29 +02:00
Dietmar Maurer
5cbddad172
update versions in generated control files
2021-07-20 15:45:45 +02:00
Dietmar Maurer
82d7a1cdbf
bump proxmox version to 0.12.0-1
2021-07-20 15:45:45 +02:00
Dietmar Maurer
08c2fc4acb
open_file_locked: add options parameter (CreateOptions)
...
To be able to set file permissions and ownership.
This is a breaking change.
2021-07-20 15:45:45 +02:00
Dietmar Maurer
a818e74a23
new helper atomic_open_or_create_file()
2021-07-20 15:45:45 +02:00
Wolfgang Bumiller
716101d660
move channel/stream helpers to pbs-tools
...
pbs_tools
::blocking: std/async wrapping with block_in_place
::stream: stream <-> AsyncRead/AsyncWrite wrapping
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-20 11:27:40 +02:00
Thomas Lamprecht
893cc0455d
buildsys: drop buster from upload target
...
we are not really compatible with pbs1, needs a stable-1 branch if we
need to backport something
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-20 08:59:59 +02:00
Wolfgang Bumiller
e8349f3d2e
move client to pbs-client subcrate
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 12:58:43 +02:00