chore: add totp feature gate (default-on) + data-encoding + qrcode deps

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
michael
2026-04-27 11:19:01 -07:00
parent c64068c4b5
commit 30e36ccf5d
5 changed files with 21 additions and 0 deletions

8
Cargo.lock generated
View File

@@ -298,6 +298,7 @@ dependencies = [
"argon2",
"authforge-common",
"ctap-hid-fido2",
"data-encoding",
"futures-util",
"hex",
"nix 0.28.0",
@@ -325,6 +326,7 @@ dependencies = [
"futures-util",
"gtk4",
"libadwaita",
"qrcode",
"tokio",
"zbus",
]
@@ -1823,6 +1825,12 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "qrcode"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec"
[[package]]
name = "quote"
version = "1.0.45"

View File

@@ -34,3 +34,5 @@ rusqlite = { version = "0.31", features = ["bundled"] }
futures-util = "0.3"
hex = "0.4"
argon2 = "0.5"
data-encoding = "2.6"
qrcode = { version = "0.14", default-features = false, features = ["svg"] }

View File

@@ -8,6 +8,10 @@ license.workspace = true
name = "authforged"
path = "src/main.rs"
[features]
default = ["totp"]
totp = ["dep:data-encoding"]
[dependencies]
authforge-common = { path = "../common" }
zbus = { workspace = true }
@@ -27,6 +31,7 @@ toml = { workspace = true }
ctap-hid-fido2 = { workspace = true }
hex = { workspace = true }
argon2 = { workspace = true }
data-encoding = { workspace = true, optional = true }
[dev-dependencies]
tempfile = { workspace = true }

1
debian/control vendored
View File

@@ -31,6 +31,7 @@ Description: Turnkey FIDO2/U2F/TOTP MFA for Linux desktops (metapackage)
Package: authforge-daemon
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libpam-u2f, libfido2-1, dbus, policykit-1
Recommends: libpam-google-authenticator
Description: System daemon for authforge MFA management
Provides the privileged D-Bus service that orchestrates enrollment,
policy edits, and lockout-prevention checks.

View File

@@ -8,6 +8,10 @@ license.workspace = true
name = "authforge"
path = "src/main.rs"
[features]
default = ["totp"]
totp = ["dep:qrcode"]
[dependencies]
gtk = { package = "gtk4", version = "0.8" }
adw = { package = "libadwaita", version = "0.6", features = ["v1_5"] }
@@ -16,3 +20,4 @@ anyhow = { workspace = true }
zbus = { workspace = true }
tokio = { workspace = true }
futures-util = { workspace = true }
qrcode = { workspace = true, optional = true }