209167df228559fd317c999e4e273cedf640bf6a
Replaces the Phase 0 stub. Reads PAM_USER, rejects usernames containing /, \0, .., or that are . / .. / empty. stat()s /var/lib/authforge/pending/<user>: present -> emits the design-doc user-facing message + PAM_AUTH_ERR; ENOENT -> PAM_IGNORE (lets the rest of the stack decide); other errno -> logs and fails closed (PAM_AUTH_ERR). Builds clean against libpam0g-dev with -Wall -Wextra -Werror -fPIC -O2. Resulting .so is a 16KB stripped-with-buildid x86-64 ELF; passes file(1) sanity. pamtester smoke recipe lands in Task B2 alongside the test PAM stack file.
authforge
Turnkey U2F / FIDO2 passkey / TOTP MFA for Linux desktops. v1 ships on Ubuntu LTS + GNOME; Debian and KDE Plasma are on the roadmap.
Install (end users)
sudo add-apt-repository ppa:dangerousthings/authforge
sudo apt install authforge
Build from source
See docs/BUILDING.md.
Status
Pre-alpha. Phases 0–2 code complete (workspace scaffold, D-Bus daemon, storage layer with policy.d / pending / credentials / userdb); Phase 3 (FIDO2 enrollment backend) is next. See docs/plans/ for design, roadmap, and per-phase implementation plans.
Copyright 2026 Dangerous Things, LLC. Licensed under the Apache License, Version 2.0.
Description
Languages
Rust
95.9%
C
3.6%
Jinja
0.3%
Makefile
0.2%