diff options
| author | tv <tv@krebsco.de> | 2026-11-08 15:39:06 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-08 16:47:25 +0100 |
| commit | 05943dad70ce17ff61b8c0352abeec0964ca14f0 (patch) | |
| tree | 3ef8953eaa44493d393c786090d09acb34c8e3c9 /src/main.rs | |
| parent | 0f55d5741b3dfda617670f92a77c3cd6e462be6d (diff) | |
login: logins by key capped per user
Review 6: a node remembers the challenges used until they expire, 10 000
at most, and refused every login by key once full. One user holding a
key could make 10 000 logins within five minutes and keep everyone else
out.
A user may now log in by key at most --key-logins-per-user times (100)
on a node within a challenge's lifetime, past which that user waits and
others don't; the 10 000 stay as the cap for all users together. The
lifetime, five minutes until now, is --challenge-lifetime.
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 105266b..3674998 100644 --- a/src/main.rs +++ b/src/main.rs @@ -259,6 +259,8 @@ async fn main() -> Result<()> { sign_every: args.sign_every, token_lifetime: args.token_lifetime, session_lifetime: args.session_lifetime, + challenge_lifetime: args.challenge_lifetime, + key_logins_per_user: args.key_logins_per_user, cors_origins: args.cors_origins.clone(), files, state_file, |
