Commit Graph

17 Commits

Author SHA1 Message Date
michael
753bf54aad feat(pkg): debconf prompt for initial AuthForge policy on metapackage install 2026-04-27 19:19:12 -07:00
michael
cccca786f7 feat(pkg): authforge-daemon postrm purges /etc/authforge and /var/lib/authforge 2026-04-27 18:29:29 -07:00
michael
f9af34cbb3 feat(pkg): authforge-pam prerm calls pam-auth-update --remove on uninstall 2026-04-27 17:36:39 -07:00
michael
41ea0a1af8 feat(pkg): authforge-pam postinst calls pam-auth-update --package 2026-04-27 17:29:15 -07:00
michael
ea75c03f55 feat(pkg): ship baseline pam-configs profile (Default: no, pending-flag only) 2026-04-27 13:34:17 -07:00
michael
8acf3f8f45 feat(daemon): EnrollTotp + IsTotpEnrolled + RevokeTotp D-Bus methods 2026-04-27 12:06:05 -07:00
michael
30e36ccf5d chore: add totp feature gate (default-on) + data-encoding + qrcode deps
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 12:06:05 -07:00
michael
9021ff0b3c feat(pkg): autostart .desktop entry running authforge --first-run on GNOME login
GNOME-only autostart entry installed to /etc/xdg/autostart/. Uses
X-GNOME-Autostart-Phase=Initialization so it runs before user
autostarts but after GDM hands the session off. NoDisplay=true keeps
it out of the apps menu — autostart-only.

Plan deviation: project uses debian/rules for installation (no
debian/authforge-gui.install file exists), so the install line goes
there instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 11:23:28 -07:00
michael
a420aa5f75 feat(daemon): real GenerateRecoveryCode + ListRecoveryCodes + RevokeRecoveryCode
Replace the random-number stub at dbus.rs:132 with state.issue_recovery,
add ListRecoveryCodes (returns Vec<RecoveryCodeSummary>) and RevokeRecoveryCode.
New polkit actions list-recovery / revoke-recovery (auth_admin_keep). Adds
4 D-Bus integration tests; the previously-stub generate-code test now
exercises the real Argon2id-backed write path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 09:39:16 -07:00
michael
6e47dbd3df packaging: ship authforge-gnome-integration binary package
Declares the new arch-all binary package in debian/control (depending on
authforge-gui + gnome-control-center) and wires its single data file
(gnome-integration/io.dangerousthings.AuthForge.UsersPanel.desktop) into
debian/rules' override_dh_auto_install so it lands in
/usr/share/applications/. The metapackage already Suggests:
authforge-gnome-integration, so no change there.
2026-04-27 08:35:33 -07:00
michael
2ba5b4da98 chore(packaging): authforge-daemon depends on dbus + policykit 2026-04-26 20:42:03 -07:00
michael
0a6cbe0e1d feat(packaging): install dbus, polkit, systemd assets into authforge-daemon 2026-04-26 20:42:02 -07:00
michael
aeebfd0f40 feat(packaging): postinst that enables + starts authforge-daemon 2026-04-26 20:42:01 -07:00
michael
49def6e75c feat(packaging): polkit policy with 7 AuthForge actions 2026-04-26 20:42:00 -07:00
michael
8f35c88b54 feat(packaging): systemd unit + D-Bus activation/policy files 2026-04-26 20:41:56 -07:00
michael
f50c7b2e82 Rename project: ubuntu-fido -> authforge
Renames the package and all artifacts to authforge to drop the
distro-specific prefix, since the roadmap targets Ubuntu + Debian +
KDE + eventually Fedora (option C in the design).

- deb packages: authforge, authforge-{daemon,pam,cli,gui,gnome-integration}
- binaries: authforged, authforgectl, authforge (GUI)
- D-Bus name: io.dangerousthings.AuthForge
- PAM module: pam_authforge_pending.so
- Paths: /etc/authforge/, /var/lib/authforge/, /usr/share/pam-configs/authforge
- PPA: ppa:dangerousthings/authforge

Filesystem path /home/work/VSCodeProjects/ubuntu_fido/ left as-is for
historical reference; can rename later via git mv at the dir level.

Verified: cargo build/test/clippy/fmt clean, pam builds, gui builds,
all 5 debs produced.
2026-04-26 16:53:11 -07:00
michael
9e3090ca88 Add Debian packaging skeleton (5 component debs, debhelper-13) 2026-04-26 14:48:00 -07:00