Wolfgang Bumiller
f323e90602
add pbs-datastore module
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-06 15:11:52 +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
01fd2447b2
buildsys: don't use debcargo
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-06 14:50:46 +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
Wolfgang Bumiller
aceae32baa
Cargo.toml: regroup imports
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-06 11:48:28 +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
Wolfgang Bumiller
1b9521bb87
bump d/control
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-17 11:46:27 +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
Wolfgang Bumiller and Thomas Lamprecht
126ccbcfa6
acme: improve errors when account loading fails
...
if the account does not exist, error with its name
if file loading fails, the error includes the full path
if the content fails to parse, show file & parse error
and in each case mention that it's about loading the acme account file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-12 12:22:21 +02:00
Wolfgang Bumiller and Thomas Lamprecht
fca1cef29f
hot-reload proxy certificate when updating via the API
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
45b8a0327f
refactor send_command
...
- refactor the combinators,
- make it take a `&T: Serialize` instead of a Value, and
allow sending the raw string via `send_raw_command`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
a723c08715
proxy: implement 'reload-certificate' command
...
to be used via the command socket
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
c381a162fb
proxy: factor out tls acceptor creation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
b4931192c3
proxy: Arc usage cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
cc269b9ff9
proxy: "continue on error" for the accept call, too
...
as this gets rid of 2 levels of indentation
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller and Thomas Lamprecht
a5e3be4992
proxy: factor out accept_connection
...
no functional changes, moved code and named the channel's
type for more readability
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-11 16:28:08 +02:00
Wolfgang Bumiller
b41f9e9fec
acme: fix bad nonce retry counter
...
Actually return the error on the 3rd try.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-10 11:52:04 +02:00
Wolfgang Bumiller
c4e1af3069
make sure URI paths start with a slash
...
Otherwise we get an empty error message.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-07 08:46:47 +02:00
Wolfgang Bumiller and Dietmar Maurer
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
Wolfgang Bumiller and Dietmar Maurer
ee0c5c8e01
use api_string_type macro
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-05-05 08:24:37 +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
Wolfgang Bumiller
95f3692545
fix permissions set in create_run_dir
...
This directory needs to be owned by the backup user instead
of root.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 12:11:35 +02:00
Wolfgang Bumiller and Dietmar Maurer
8fb24a2c0a
daily-update: check acme certificates
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:43:50 +02:00
Wolfgang Bumiller and Dietmar Maurer
4b5d9b6e64
ui: add certificate & acme view
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:42:50 +02:00
Wolfgang Bumiller and Dietmar Maurer
72bd8293e3
add acme commands to proxmox-backup-manager
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:39:16 +02:00
Wolfgang Bumiller and Dietmar Maurer
09989d9963
add node/{node}/config api path
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:32:42 +02:00
Wolfgang Bumiller and Dietmar Maurer
4088d5bc62
add node/{node}/certificates api call
...
API like in PVE:
GET .../info => current cert information
POST .../custom => upload custom certificate
DELETE .../custom => delete custom certificate
POST .../acme/certificate => order acme certificate
PUT .../acme/certificate => renew expiring acme cert
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:31:30 +02:00
Wolfgang Bumiller and Dietmar Maurer
d4b84c1dec
add config/acme api path
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:30:49 +02:00
Wolfgang Bumiller and Dietmar Maurer
79b902d512
add node config
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 09:29:31 +02:00
Wolfgang Bumiller and Dietmar Maurer
f2f526b61d
add acme client
...
This is the highlevel part using proxmox-acme-rs to create
requests and our hyper code to issue them to the acme
server.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 07:56:52 +02:00
Wolfgang Bumiller and Dietmar Maurer
cb67ecaddb
add acme config
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-05-04 07:43:43 +02:00
Wolfgang Bumiller and Dietmar Maurer
d724116c0c
add dns alias schema
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-30 08:10:57 +02:00
Wolfgang Bumiller and Dietmar Maurer
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 and Dietmar Maurer
3df77ef5da
config::acl: make /system/certificates a valid path
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-29 12:08:00 +02:00
Wolfgang Bumiller and Dietmar Maurer
e8d9d9adfa
bump d/control
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-29 12:05:22 +02:00
Wolfgang Bumiller and Dietmar Maurer
01d152720f
Cargo.toml: depend on proxmox-acme-rs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-29 12:04:28 +02:00
Wolfgang Bumiller and Dietmar Maurer
5e58381ea9
catalog shell: replace LoopState with ControlFlow
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-29 11:17:21 +02:00
Wolfgang Bumiller and Dietmar Maurer
0b6d9442bd
tools: add ControlFlow type
...
modeled after std::ops::ControlFlow
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-29 11:15:20 +02:00
Wolfgang Bumiller and Dietmar Maurer
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 and Dietmar Maurer
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 and Dietmar Maurer
f912ba6a3e
config: factor out certificate writing
...
for reuse in the certificate api
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-28 12:58:41 +02:00
Wolfgang Bumiller and Dietmar Maurer
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 and Dietmar Maurer
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
Wolfgang Bumiller
e045d154e9
file-restore: avoid unnecessary clone
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-23 13:22:30 +02:00
Wolfgang Bumiller
79e58a903e
pxar: handle missing GROUP_OBJ ACL entries
...
Previously we did not store GROUP_OBJ ACL entries for
directories, this means that these were lost which may
potentially elevate group permissions if they were masked
before via ACLs, so we also show a warning.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-02 11:10:20 +02:00
Wolfgang Bumiller
9f40e09d0a
pxar: fix directory ACL entry creation
...
Don't override `group_obj` with `None` when handling
`ACL_TYPE_DEFAULT` entries for directories.
Reproducer: /var/log/journal ends up without a `MASK` type
entry making it invalid as it has `USER` and `GROUP`
entries.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-04-02 10:22:04 +02:00
Wolfgang Bumiller
a1d90719e4
bump pxar dep to 0.10.1
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-03-31 14:00:20 +02:00
Wolfgang Bumiller
b31cdec225
update to pxar 0.10
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-03-12 10:48:09 +01:00
Wolfgang Bumiller
591b120d35
fix feature flag logic in pxar create
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-03-12 10:17:51 +01:00
Wolfgang Bumiller
46d53e3e90
bump proxmox dep to 0.11.0
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-25 09:23:30 +01:00
Wolfgang Bumiller
3554fe6480
update to schema changes in proxmox
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-24 14:50:08 +01:00
Wolfgang Bumiller
e68c0e68bd
bump proxmox dep to 0.10.7
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-23 14:44:59 +01:00
Wolfgang Bumiller
0514a4308f
update d/control
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-18 09:13:38 +01:00
Wolfgang Bumiller
38a81c6b46
bump pxar to 0.9.0
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-17 09:56:56 +01:00
Wolfgang Bumiller
7f9d8438ab
tfa: derive WebauthnConfigUpdater via api macro
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-10 10:47:47 +01:00
Wolfgang Bumiller
befd95a90a
pxar: improve error messages
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-09 13:09:00 +01:00
Wolfgang Bumiller
ab6cd4229b
pxar: skip write_attr_fd if they are equal
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-09 13:09:00 +01:00
Wolfgang Bumiller
9213744ecb
fix #3026 : pxar: metadata: apply flags _after_ updating mtime
...
otherwise we'll fail to update the mtime of immutable files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-09 13:08:49 +01:00
Wolfgang Bumiller
fa016c1697
HttpsConnector: use hostname instead of URL again
...
fixes connecting to hosts with valid certificates without a
pinned fingerprint
this was accidentally changed in the tokio-1.0 updates
apparently
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
Fixes: 0f860f712f ("tokio 1.0: update to new tokio-openssl interface")
2021-02-03 15:18:18 +01:00
Wolfgang Bumiller
b419050aa7
bump pxar to 0.8
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-02 11:02:08 +01:00
Wolfgang Bumiller
6248e51797
change half-ticket time range from -120..240 to -60..600
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-02-01 15:13:11 +01:00
Wolfgang Bumiller
340c0bf9e3
pxar: don't clone patterns unnecessarily
...
The options struct has no Drop handler and is passed by-move
so we can partially move out of it.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-26 10:24:18 +01:00
Wolfgang Bumiller
51b938496d
tools::sgutils2: name fixup
...
it's not a box anymore
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-25 15:05:52 +01:00
Wolfgang Bumiller
b7f9b25e4d
tools::sgutils2: use NonNull
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-25 14:56:10 +01:00
Wolfgang Bumiller
fe61280b6b
tools::sgutils2: extern 'C' and import ordering
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-25 14:54:25 +01:00
Wolfgang Bumiller
68c087d578
tools::sgutils2: don't transmute to a Box
...
Otherwise we run the drop handler for the scsi pt object AND
the box itself, which shouldn't even work as it should be
doing a double-free (unless the library does some kind of
reference counting in which case this should simply crash
later on?)
anyway, let's make a wrapper simply called `SgPt` containing
the pointer from `construct_scsi_pt_obj()`
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-25 14:48:27 +01:00
Wolfgang Bumiller
d6bf87cab7
tools::sgutils2: const correctness
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-25 14:33:45 +01:00
Wolfgang Bumiller and Thomas Lamprecht
9b6bddb24c
tfa: remove/empty description for recovery keys
...
While the user chosen description is not allowed to be
empty, we do leave it empty for recovery keys, as a "dummy
description" makes little sense...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 15:20:39 +01:00
Wolfgang Bumiller and Thomas Lamprecht
4cbd7eb7f9
gui: tfa: make description fill the remaining space
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 14:06:12 +01:00
Wolfgang Bumiller and Thomas Lamprecht
310686726a
gui: tfa: show when entries were created
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 14:06:12 +01:00
Wolfgang Bumiller and Thomas Lamprecht
ad5cee1d22
tfa: add 'created' timestamp to entries
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 14:06:12 +01:00
Wolfgang Bumiller and Thomas Lamprecht
8ae6d28cd4
gui: enumerate recovery keys and list in 2nd factor window
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 13:51:23 +01:00
Wolfgang Bumiller and Thomas Lamprecht
ca1060862e
tfa: remember recovery indices
...
and tell the client which keys are still available rather
than just yes/no/low
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-18 13:51:23 +01:00
Wolfgang Bumiller and Thomas Lamprecht
3fffcb5d77
gui: tfa configuration
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-15 15:19:52 +01:00
Wolfgang Bumiller and Thomas Lamprecht
a670b99db1
tfa: add webauthn configuration API entry points
...
Currently there's not yet a node config and the WA config is
somewhat "tightly coupled" to the user entries in that
changing it can lock them all out, so for now I opted for
fewer reorganization and just use a digest of the
canonicalized config here, and keep it all in the tfa.json
file.
Experimentally using the flatten feature on the methods with
an`Updater` struct similar to what the api macro is supposed
to be able to derive on its own in the future.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-15 15:19:52 +01:00
Wolfgang Bumiller and Thomas Lamprecht
aefd74197a
bakckup::manifest: use tools::json for canonical representation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-15 15:19:52 +01:00
Wolfgang Bumiller and Thomas Lamprecht
9ff747ef50
add tools::json for canonical json generation
...
moving this from backup::manifest, no functional changes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-15 15:19:52 +01:00
Wolfgang Bumiller
e96464c795
d/control bump
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 12:09:19 +01:00
Wolfgang Bumiller
ad0ed40a59
api: return "invalid" as CSRF token for partial tickets
...
So that old clients don't `unwrap` a `None` value.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:13 +01:00
Wolfgang Bumiller
63fd8e58b2
gui: masks for: adding recovery and removals
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:13 +01:00
Wolfgang Bumiller
758a827c2d
gui: add load mask during webauthn api calls
...
so that if we run into the 3s delay due to the wrong
password the window is properly masked
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:13 +01:00
Wolfgang Bumiller
7ad33e8052
tfa: use UNAUTHORIZED http status in password check
...
to trigger our 3s delay in the rest handler
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:13 +01:00
Wolfgang Bumiller
abfe0c0e70
tfa: fixup for challenge file split
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:13 +01:00
Wolfgang Bumiller
f22dfb5ece
tfa: remove tfa user when a user is deleted
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:10 +01:00
Wolfgang Bumiller
4bda51688b
tfa: improve user existence check
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
eab25e2f33
tfa: allow deletion of entries of non-existent users
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
94bd11bae2
typo fixups
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
759af9f00c
tfa api: return types and 'pub' structs/methods
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
f58e5132aa
tfa: entry access/iteration cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
d831846706
tfa: r#type parameter name
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
1fc9ac0433
tfa: _entry api method name suffix consistency
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:23:03 +01:00
Wolfgang Bumiller
5c48d0af1f
tfa gui: fix adding recovery keys as user
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
30fb19be35
tfa view: html-escape description text
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
fbeac4ea28
gui: tfa support
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
7f066a9b21
proxy: expose qrcodejs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
c5a767cd1d
depend on libjs-qrcodejs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
027ef213aa
api: tfa management and login
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00
Wolfgang Bumiller
dc1fdd6267
config: add tfa configuration
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-01-11 10:22:32 +01:00