rust-proxmox-tfa (6.0.5-1) trixie; urgency=medium

  * api: fix potential TFA bypass when WebAuthn context instantiation fails.
    Not currently exploitable through the PVE/PBS/PDM backends (they always
    use the stored server-side origin), but callers passing an explicit
    origin could trigger it. Users with fallback methods (recovery keys,
    TOTP) now get a challenge with those methods; users with only WebAuthn
    are blocked instead of silently skipping TFA.

 -- Proxmox Support Team <support@proxmox.com>  Fri, 20 Mar 2026 17:18:57 +0100

rust-proxmox-tfa (6.0.4-1) trixie; urgency=medium

  * update schema to 5.0.0

 -- Proxmox Support Team <support@proxmox.com>  Thu, 04 Sep 2025 10:32:55 +0200

rust-proxmox-tfa (6.0.3-1) trixie; urgency=medium

  * copy backup eligibility and state values from the signed response into the
    auth state - this should cause the webauthn-rs crate's backup checks to
    always succeed

 -- Proxmox Support Team <support@proxmox.com>  Thu, 07 Aug 2025 10:15:19 +0200

rust-proxmox-tfa (6.0.2-1) trixie; urgency=medium

  * store backup-eligible and backup-state values with user credentials for
    future webauthn-rs crate shenanigans

  * force-allow eligibility upgrade by modifying the webauthn-rs' internal
    auth state

 -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Aug 2025 16:04:05 +0200

rust-proxmox-tfa (6.0.1-1) trixie; urgency=medium

  * enable backup eligibility on converted credentials - this should fix an
    issue with passkeys from the bitwarden plugin

 -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Aug 2025 13:59:21 +0200

rust-proxmox-tfa (6.0.0-1) trixie; urgency=medium

  * clippy fixes

  * switch to proxmox-base64

  * update to webauthn-rs 0.5

  * re-build for Debian Trixie based releases.

 -- Proxmox Support Team <support@proxmox.com>  Fri, 23 May 2025 14:49:53 +0200

rust-proxmox-tfa (5.0.2-1) bookworm; urgency=medium

  * rebuild with proxmox-schema 4.0

 -- Proxmox Support Team <support@proxmox.com>  Wed, 15 Jan 2025 12:42:55 +0100

rust-proxmox-tfa (5.0.1) bookworm; urgency=medium

  * provide TfaUser via the 'types' feature

  * typo fixes

 -- Proxmox Support Team <support@proxmox.com>  Tue, 01 Oct 2024 12:48:13 +0200

rust-proxmox-tfa (5.0.0) bookworm; urgency=medium

  * webauthn: make OriginUrl stringify according to RFC6454 (no trailing slash)

  * remove Deref and DerefMut from OriginUrl

  * clippy fixes

 -- Proxmox Support Team <support@proxmox.com>  Wed, 03 Jul 2024 15:25:28 +0200

rust-proxmox-tfa (4.1.3) bookworm; urgency=medium

  * upgrade to proxmox-time 2.0

  * clippy and compile warning fixes

 -- Proxmox Support Team <support@proxmox.com>  Thu, 20 Jun 2024 13:58:42 +0200

rust-proxmox-tfa (4.1.2) bookworm; urgency=medium

  * rebuild with proxmox-schema 3

 -- Proxmox Support Team <support@proxmox.com>  Fri, 02 Feb 2024 14:00:19 +0100

rust-proxmox-tfa (4.1.1) bookworm; urgency=medium

  * api: methods: add missing #[serde(default)] to TfaUser

 -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Dec 2023 16:00:51 +0100

rust-proxmox-tfa (4.1.0) bookworm; urgency=medium

  * make TfaType Clone + Copy + PartialEq

  * make totp a feature

  * make more optional dependencies actually optional

  * clippy fixes

 -- Proxmox Support Team <support@proxmox.com>  Thu, 23 Nov 2023 09:20:56 +0100

rust-proxmox-tfa (4.0.5) bookworm; urgency=medium

  * update to proxmox-schema 2.0

 -- Proxmox Support Team <support@proxmox.com>  Mon, 24 Jul 2023 10:55:40 +0200

rust-proxmox-tfa (4.0.4) bookworm; urgency=medium

  * make totp algorithm parsing case insensitive to be less strict in case
    the config is manually edited

  * unlocking can now also reset the failure counters

 -- Proxmox Support Team <support@proxmox.com>  Wed, 05 Jul 2023 10:43:34 +0200

rust-proxmox-tfa (4.0.3) bookworm; urgency=medium

  * make the api's TfaUser fields 'pub'

 -- Proxmox Support Team <support@proxmox.com>  Wed, 14 Jun 2023 13:51:38 +0200

rust-proxmox-tfa (4.0.2) stable; urgency=medium

  * Reduce default TFA lockout time to an hour.

  * Include lockout status in tfa user list.

 -- Proxmox Support Team <support@proxmox.com>  Mon, 05 Jun 2023 08:59:05 +0200

rust-proxmox-tfa (4.0.1) stable; urgency=medium

  * Add api::methods::unlock_tfa

 -- Proxmox Support Team <support@proxmox.com>  Mon, 05 Jun 2023 08:58:34 +0200

rust-proxmox-tfa (4.0.0-1) stable; urgency=medium

  * Don't automatically drop an empty set of recovery keys, instead.
    This means that now if they are the only 2nd factor, once they're used up,
    login becomes impossible.

  * With no recovery keys present, the TfaChallenge now explicitly includes an
    empty set of recovery keys, so the client can see they are empty, rather
    than not configured.

  * If all 2nd factors are disabled, rather than an empty challenge which
    cannot be solved, act as if no 2nd factor existed, allowing the user to
    login normally.

  * Make failing to generate a webauthn or U2F challenge non-fatal: that is, if
    other 2nd factors are available it should still be possible to login with
    those.

  * Log errors to syslog which previously cancelled the login process.

  * TOTP: Add option to enable remembering and reject the last used TOTP codes
    of a user.

  * TOTP: add a failure limit after which TOTP will be completely blocked for a
    user until a recovery key is used.

  * There can now be alimit on TFA tries in general after which a user gets
    locked and and admin intervention is required.

  * add a 'types' feature exposing the TfaInfo, TfaType etc API types without
    exposing the entire API, so API clients can use those.

 -- Proxmox Support Team <support@proxmox.com>  Thu, 20 Apr 2023 09:19:06 +0200

rust-proxmox-tfa (3.0.0-1) stable; urgency=medium

  * Make `UserChallengeAccess` object-safe:
    - drop `Sized` requirement
    - make `save()` take `&mut self`

  * Drop `Clone` requirement on `OpenUserChallengeData`

  * Drop `Data` associated type from `OpenUserChallengeData`, make methods return
    `Box<dyn UserChallengeAccess>` instead

 -- Proxmox Support Team <support@proxmox.com>  Thu, 02 Feb 2023 11:03:34 +0100

rust-proxmox-tfa (2.1.0-1) stable; urgency=medium

  * expose allow_subdomains property for webauthn, defaulting to true

  * include 'webauthn' property when deserializing a `TfaChallenge` object to
    make it reusable by clients

  * bump edition to 2021

 -- Proxmox Support Team <support@proxmox.com>  Mon, 25 Jul 2022 13:31:25 +0200

rust-proxmox-tfa (2.0.0-1) stable; urgency=medium

  * add Webauthn::digest

  * let OriginUrl deref to its inner Url and add FromStr/TryFrom/Into<String>
    impls

  * make configured webauthn origin optional, allow users to pass an
    origin-override

 -- Proxmox Support Team <support@proxmox.com>  Tue, 23 Nov 2021 16:19:16 +0100

rust-proxmox-tfa (1.3.2-1) stable; urgency=medium

  * fix instantiation of u2f context, use origin instead of always replacing
    it with the appid

 -- Proxmox Support Team <support@proxmox.com>  Mon, 22 Nov 2021 13:26:22 +0100

rust-proxmox-tfa (1.3.1-1) stable; urgency=medium

  * rebuild with base64 0.13

  * bump webauthn-rs to 0.3

 -- Proxmox Support Team <support@proxmox.com>  Thu, 18 Nov 2021 12:59:59 +0100

rust-proxmox-tfa (1.3.0-1) stable; urgency=medium

  * add tfa API entry points and optional api-type/schema generation

 -- Proxmox Support Team <support@proxmox.com>  Wed, 17 Nov 2021 09:27:33 +0100

rust-proxmox-tfa (1.2.0-1) stable; urgency=medium

  * make u2f::AuthChallenge Clone + Debug
  * add version field to u2f::AuthChallenge

 -- Proxmox Support Team <support@proxmox.com>  Tue, 02 Nov 2021 12:53:54 +0100

rust-proxmox-tfa (1.1.0-1) stable; urgency=medium

  * add Totp::digits getter

 -- Proxmox Support Team <support@proxmox.com>  Fri, 29 Oct 2021 14:31:53 +0200

rust-proxmox-tfa (1.0.0-1) stable; urgency=medium

  * initial split out of `librust-proxmox-dev`

 -- Proxmox Support Team <support@proxmox.com>  Mon, 04 Oct 2021 11:38:53 +0200
