Wolfgang Bumiller
5b93835744
rest-server: bump schema to 1.2 and use convenience methods
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-02-11 14:09:45 +01:00
Fabian Grünbichler
dcf5a0f62d
misc clippy fixes
...
the trivial ones ;)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-08 14:57:16 +01:00
Thomas Lamprecht
e5e48b01ad
rest: add cookie_from_header helper
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-03 13:12:02 +01:00
Fabian Grünbichler
aa174e8e8a
tree-wide: drop redundant clones
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-30 15:02:07 +01:00
Fabian Grünbichler
9a37bd6c84
tree-wide: fix needless borrows
...
found and fixed via clippy
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-12-30 13:55:33 +01:00
Wolfgang Bumiller
9fa3026a08
cleanup schema function calls
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-12-16 11:25:02 +01:00
Dietmar Maurer
25877d05ac
update to proxmox-sys 0.2 crate
...
- imported pbs-api-types/src/common_regex.rs from old proxmox crate
- use hex crate to generate/parse hex digest
- remove all reference to proxmox crate (use proxmox-sys and
proxmox-serde instead)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:32:27 +01:00
Dietmar Maurer
9a1b24b6b1
use new proxmox-async crate
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 18:03:22 +01:00
Dietmar Maurer
d5790a9f27
use new proxmox-sys crate
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 11:06:35 +01:00
Dietmar Maurer
860eaec58f
use proxmox::tools::fd::fd_change_cloexec from proxmox 0.15.3
...
Depend on proxmox 0.15.3
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-18 13:43:41 +01:00
Thomas Lamprecht
1859a0eb8b
rest: make successful-ticket auth log a debug one to avoid syslog
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-12 11:10:12 +01:00
Dietmar Maurer
b9d588ffde
implement Servive for RateLimitedStream
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-10 10:15:40 +01:00
Dietmar Maurer
e0a19d3313
use new fsync parameter to replace_file and atomic_open_or_create
...
Depend on proxmox 0.15.0 and proxmox-openid 0.8.1
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-10-21 07:28:32 +02:00
Dominik Csapak
1d4448998a
rest-server: use hashmap for parameter errors
...
our ui expects a map here with 'field: "error"'. This way it can mark
the relevant field as invalid and correctly shows the complete error
message
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-10-21 06:32:23 +02:00
Wolfgang Bumiller
6ef1b649d9
update to first proxmox crate split
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-11 11:58:49 +02:00
Dominik Csapak
de55fff226
rest-server: add cleanup_old_tasks
...
this is a helper that removes task log files that are not referenced
by the task archive anymore
it gets the oldest task archive file, gets the first endtime (the
oldest) and removes all files in the taskdir where the mtime is older
than that
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-10-08 06:38:52 +02:00
Dietmar Maurer
608806e884
proxmox-rest-server: use new ServerAdapter trait instead of callbacks
...
Async callbacks are a PITA, so we now pass a single trait object which
implements check_auth and get_index.
2021-10-05 11:13:10 +02:00
Dietmar Maurer
48176b0a77
proxmox-rest-server: pass owned RestEnvironment to get_index
...
This way we avoid pointers with lifetimes.
2021-10-05 11:12:53 +02:00
Dietmar Maurer
3483a3b3a1
proxmox-rest-server: cleanup, access api_auth using a method
2021-10-05 11:12:53 +02:00
Thomas Lamprecht
e1c8c27f47
rest: daemon: group systemd FFI together
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:45:34 +02:00
Thomas Lamprecht
63cec1622a
rest: daemon: sd notify: code cleanup
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:45:34 +02:00
Thomas Lamprecht
31142ef291
rest: daemon: sd notify barrier: avoid barging in between SystemdNotify enum and systemd_notify
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:45:34 +02:00
Thomas Lamprecht
058b4b9708
rest: daemon: sd notify barrier: allow caller to set timeout
...
else it's rather to subtle and not a nice interface considering that
we only want to have a thin wrapper for sd_notify_barrier..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:44:20 +02:00
Thomas Lamprecht
9a1330c72e
rest: daemon: comment why using a systemd barrier is important for main PID handover
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:44:20 +02:00
Dominik Csapak
0a6df20986
rest-server/daemon: use sd_notify_barrier for service reloading
...
until now, we manually polled the systemd service state during a reload
so that the sd_notify messages get processed in the correct order
(RELOAD(old) -> MAINPID(old) -> READY(new))
with systemd >= 246 there is now 'sd_notify_barrier' which
blocks until systemd processed all prior messages
with that change, the daemon does not need to know the service name anymore
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-02 11:44:20 +02:00
Dietmar Maurer
6680878b5c
proxmox-rest-server: make get_index async
2021-10-01 09:38:10 +02:00
Dietmar Maurer
593043ed53
proxmox-rest-server: add comment why ApiService needs to be 'pub'
2021-10-01 08:35:51 +02:00
Dietmar Maurer
038f385089
proxmox-rest-server: make check_auth async
2021-10-01 07:53:59 +02:00
Dietmar Maurer
b914b94773
proxmox-rest-server: fix spelling errors
2021-10-01 06:43:30 +02:00
Dietmar Maurer
2194bc59c8
proxmox-rest-server: improve ApiService docs
2021-09-30 17:18:47 +02:00
Dietmar Maurer
a98a288e2d
proxmox-rest-server: start module docs
2021-09-30 13:49:29 +02:00
Dietmar Maurer
49e25688f1
rename CommandoSocket to CommandSocket
2021-09-30 12:52:35 +02:00
Wolfgang Bumiller
8735247f29
drop fd_change_cloexec from proxmox-rest-server
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-09-30 12:43:22 +02:00
Dietmar Maurer
0d5d15c9d1
proxmox-rest-server: improve docs
...
And rename enable_file_log to enable_access_log.
2021-09-30 12:29:15 +02:00
Dietmar Maurer
2e44983a37
proxmox-rest-server: improve docs
...
And renames abort_worker_async to abort_worker_nowait (avoid confusion,
because the function itself is not async).
2021-09-30 10:51:41 +02:00
Dietmar Maurer
c76ff4b472
proxmox-rest-server: cleanup FileLogger docs
2021-09-30 10:51:31 +02:00
Dietmar Maurer
e64f77b716
cleanup: move use clause to top
2021-09-30 08:42:37 +02:00
Dietmar Maurer
fd1b65cc3c
proxmox-rest-server: allow to catch SIGINT and SIGHUP separately
...
And make ServerState private.
2021-09-30 08:41:30 +02:00
Dietmar Maurer
11148dce43
proxmox-rtest-server: make Reloader and Reloadable private
2021-09-30 07:44:19 +02:00
Dietmar Maurer
38da8ca1bc
proxmox-rest-server: improve logging
...
And rename server_state_init() into catch_shutdown_and_reload_signals().
2021-09-29 14:48:46 +02:00
Dietmar Maurer
a0ffd4a413
proxmox-rest-server: avoid useless call to request_shutdown
...
Also avoid unsafe code.
2021-09-29 14:37:07 +02:00
Dietmar Maurer
d265420025
daemon: simlify code (make it easier to use)
2021-09-29 12:04:48 +02:00
Dietmar Maurer
8cf445ecc4
cleanup: make BoxedStoreFunc private
...
There is no need to export this type.
2021-09-29 09:55:43 +02:00
Dominik Csapak
6f0565fa60
rest-server: use hypers AddrIncoming for proxmox-backup-api
...
this has a 'from_listener' (tokio::net::TcpListener) since hyper 0.14.5 in
the 'tcp' feature (we use 'full', which includes that; since 0.14.13
it is not behind a feature flag anymore).
this makes it possible to create a hyper server without our
'StaticIncoming' wrapper and thus makes it unnecessary.
The only other thing we have to do is to change the Service impl from
tokio::net::TcpStream to hyper::server::conn::AddStream to fulfill the trait
requirements.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-29 09:38:40 +02:00
Dietmar Maurer
99940358e3
ExtJsFormatter: use ParameterError to correctly compute 'errors'
...
By default, 'errors' is now empty.
Depend on proxmox 0.13.5.
2021-09-28 10:19:55 +02:00
Dietmar Maurer
53daae8e89
proxmox-rest-server: cleanup formatter, improve docs
...
Use trait for OutputFormatter. This is functionally equivalent,
but more rust-like...
2021-09-28 07:45:50 +02:00
Dietmar Maurer
0fd55b08d9
WorkerTaskContext: add shutdown_requested() and fail_on_shutdown()
2021-09-24 12:04:31 +02:00
Dietmar Maurer
619cd5cbcb
cleanup WorkerTaskContext
2021-09-24 11:39:30 +02:00
Dietmar Maurer
1ec0d70d09
cleanup worker task logging
...
In order to avoid name conflicts with WorkerTaskContext
- renamed WorkerTask::log to WorkerTask::log_message
Note: Methods have different fuction signatures
Also renamed WorkerTask::warn to WorkerTask::log_warning for
consistency reasons.
Use the task_log!() and task_warn!() macros more often.
2021-09-24 10:34:11 +02:00
Dietmar Maurer
c8449217dc
rename TaskState to WorkerTaskContext
2021-09-24 10:33:49 +02:00