Commit Graph

  • fb4322fd33 Committing local changes before initial push to remote main michael 2026-05-01 07:12:11 -07:00
  • f5879e1541 docs: phase 13 closeout notes michael 2026-04-27 20:03:07 -07:00
  • 6cef32df4d feat(pkg): bump changelog UNRELEASED -> noble; urgency=medium (Phase 13 release) michael 2026-04-27 20:02:01 -07:00
  • 21bf1f5a3f docs(pkg): piuparts test recipe — Ubuntu 24.04, install/remove/purge cycle michael 2026-04-27 19:54:47 -07:00
  • c1b8dd6cb0 chore(pkg): lintian sweep — fix obsolete polkit dep, drop dup systemd path, command -v in pam hooks; override deferred manpages and PPA-only warnings michael 2026-04-27 19:54:15 -07:00
  • 0dc108220d feat(pkg): metapackage postinst seeds /etc/authforge/policy.d/00-debconf.conf from debconf answer michael 2026-04-27 19:33:52 -07:00
  • 753bf54aad feat(pkg): debconf prompt for initial AuthForge policy on metapackage install michael 2026-04-27 19:19:12 -07:00
  • cccca786f7 feat(pkg): authforge-daemon postrm purges /etc/authforge and /var/lib/authforge michael 2026-04-27 18:29:29 -07:00
  • f9af34cbb3 feat(pkg): authforge-pam prerm calls pam-auth-update --remove on uninstall michael 2026-04-27 17:36:39 -07:00
  • 41ea0a1af8 feat(pkg): authforge-pam postinst calls pam-auth-update --package michael 2026-04-27 17:29:15 -07:00
  • ea75c03f55 feat(pkg): ship baseline pam-configs profile (Default: no, pending-flag only) michael 2026-04-27 13:34:17 -07:00
  • 129024829b docs(plan): step-level Phase 13 plan — deb finalization (postinst, debconf, purge, lintian) michael 2026-04-27 13:13:15 -07:00
  • 831fd0152c docs(plan): refresh post-Phase-11 — diagram, sequential-tail status, fanout lesson michael 2026-04-27 13:06:51 -07:00
  • 789ff2b38e docs: refresh README status — Phases 0-12 + 15/16 done; 13/14/17/18 remain michael 2026-04-27 13:04:42 -07:00
  • 22653ff4ff docs(pam): clarify safe_user contract — pre-filter, not authoritative boundary michael 2026-04-27 13:00:11 -07:00
  • ef70c465b8 docs(pam): correct journalctl recipe — tag is caller-set, grep is universal michael 2026-04-27 12:57:26 -07:00
  • 99cde28bd2 Merge branch 'feature/phase-11-totp' michael 2026-04-27 12:22:44 -07:00
  • 974514038f style(daemon): rustfmt reorder TotpEnrollment import alphabetically michael 2026-04-27 12:20:58 -07:00
  • 0d99498c26 style(gui): rustfmt collapse QR QrCode::new line in totp_page michael 2026-04-27 12:20:47 -07:00
  • 4b6b95c350 docs: phase 11 closeout notes michael 2026-04-27 12:15:33 -07:00
  • 334fa5e20b feat(cli): authforgectl totp enroll/status/revoke michael 2026-04-27 12:12:02 -07:00
  • 8060364973 feat(gui): TOTP tab with QR code modal + revoke (feature-gated) michael 2026-04-27 12:10:54 -07:00
  • 85c8f29b68 feat(daemon): render pam_google_authenticator.so when TOTP-required stack present michael 2026-04-27 11:30:24 -07:00
  • 8acf3f8f45 feat(daemon): EnrollTotp + IsTotpEnrolled + RevokeTotp D-Bus methods michael 2026-04-27 11:29:16 -07:00
  • 5fa81e5757 feat(daemon): wire TotpStore into AppState behind feature gate michael 2026-04-27 11:27:32 -07:00
  • c56ed0c9a1 feat(daemon): TotpStore with atomic 0600 writes in pam_google_authenticator format michael 2026-04-27 11:21:11 -07:00
  • e753a33ee4 feat(daemon): TOTP secret generation + base32 + otpauth URI (feature-gated) michael 2026-04-27 11:20:00 -07:00
  • 30e36ccf5d chore: add totp feature gate (default-on) + data-encoding + qrcode deps michael 2026-04-27 11:19:01 -07:00
  • c64068c4b5 Merge branch 'feature/phase-10-firstrun' michael 2026-04-27 12:05:18 -07:00
  • f2e113e403 Merge branch 'feature/phase-9-and-12-gui' michael 2026-04-27 12:03:49 -07:00
  • 0dd4aaf082 docs(gui): VM smoke recipe for the first-run modal michael 2026-04-27 11:28:33 -07:00
  • 85dd0c7111 docs: phase 10 closeout notes michael 2026-04-27 11:28:12 -07:00
  • 611174859c feat(gui): firstrun modal shows Skip button on daemon-unreachable michael 2026-04-27 11:27:31 -07:00
  • 9021ff0b3c feat(pkg): autostart .desktop entry running authforge --first-run on GNOME login michael 2026-04-27 11:23:28 -07:00
  • cef468ae7e feat(gui): first-run modal with enrollment + 60s idle watchdog michael 2026-04-27 11:22:40 -07:00
  • 3b519578c5 feat(gui): WatchdogState pure-logic helper for first-run modal michael 2026-04-27 11:19:46 -07:00
  • b23df83a2b docs: phase 9 + phase 12 GUI closeout notes michael 2026-04-27 11:19:45 -07:00
  • 25eed8ff94 docs(gui): smoke-test recipes for Policy and Recovery tabs michael 2026-04-27 11:18:50 -07:00
  • 008dc160bd feat(gui): Recovery tab with list / generate / revoke + one-shot copy dialog michael 2026-04-27 11:18:29 -07:00
  • e19ffc9c9b feat(gui): advanced expander surfaces non-master PAM stacks in Policy tab michael 2026-04-27 11:16:51 -07:00
  • ae372df577 feat(gui): PolicyPage subscribes to PolicyChanged for live refresh michael 2026-04-27 11:16:18 -07:00
  • a28b5c9ebe feat(gui): Policy tab with three master stacks and lockout-violation banner michael 2026-04-27 11:15:50 -07:00
  • b2771e73fa feat(gui): pure-logic helpers for Policy tab (mode mapping, violation grouping) michael 2026-04-27 11:13:53 -07:00
  • ec22188440 feat(gui): bus client policy + recovery method wrappers michael 2026-04-27 11:12:54 -07:00
  • 712c1e9c1d Merge branch 'feature/prep-shell-and-pending' michael 2026-04-27 10:56:14 -07:00
  • 2ed95d21da style(daemon): rustfmt collapse get_pending_status match arm michael 2026-04-27 10:55:51 -07:00
  • b8e8368a25 feat(gui): bus::Daemon::{get_pending_status,clear_pending_flag} client wrappers michael 2026-04-27 10:52:14 -07:00
  • 1976971bb5 feat(daemon): GetPendingStatus D-Bus method + 2 integration tests michael 2026-04-27 10:51:25 -07:00
  • 86e3ffe8d5 feat(daemon): AppState::get_pending_status returns wire-friendly bool+flag michael 2026-04-27 10:49:53 -07:00
  • e1542d6d1f feat(common): PendingStatus wire type + Default impl on PendingFlag michael 2026-04-27 10:47:01 -07:00
  • 8d19be3e58 feat(gui): --first-run flag + firstrun::run stub for Phase 10 michael 2026-04-27 10:45:52 -07:00
  • a927d96630 refactor(gui): extract AppContext for shared page handles michael 2026-04-27 10:42:11 -07:00
  • d20643cde5 docs(plan): coordinator + 3 step-level plans for parallel Phase 9/10/11 fan-out michael 2026-04-27 10:28:23 -07:00
  • b624f005b2 docs(roadmap): refresh post Phase 8 + Phase 12 backend merges michael 2026-04-27 10:09:22 -07:00
  • 4ec69119f6 Merge branch 'feature/phase-12-recovery-backend' michael 2026-04-27 10:05:59 -07:00
  • 91731150d5 docs: phase 12 backend closeout notes michael 2026-04-27 09:53:09 -07:00
  • 982b9403d0 feat(cli): authforgectl recovery list and revoke michael 2026-04-27 09:51:52 -07:00
  • 56ba4dd924 feat(pam): recovery-code mode with Argon2id verify and pending re-enroll handoff michael 2026-04-27 09:49:44 -07:00
  • a420aa5f75 feat(daemon): real GenerateRecoveryCode + ListRecoveryCodes + RevokeRecoveryCode michael 2026-04-27 09:39:16 -07:00
  • 42482f2a44 docs: mark Phase 8 done in roadmap + closeout notes michael 2026-04-27 09:37:22 -07:00
  • e9efde9077 feat(daemon): wire RecoveryStore into AppState with AUTHFORGE_RECOVERY_DIR override michael 2026-04-27 09:35:06 -07:00
  • 517b015996 feat(daemon): RecoveryStore with atomic 0600 writes and one-shot verify-and-consume michael 2026-04-27 09:32:40 -07:00
  • 943d9b01ae Merge branch 'feature/phase-8-gui-keys' michael 2026-04-27 09:32:37 -07:00
  • 27dec5ab4a docs(gui): smoke-test recipe and CI gate michael 2026-04-27 09:26:17 -07:00
  • 14b473a48a feat(gui): wire adw::ToastOverlay for error surfacing michael 2026-04-27 09:25:50 -07:00
  • 45ac398730 feat(daemon): recovery code generation and Argon2id hashing michael 2026-04-27 09:25:30 -07:00
  • 3fbd872a9c feat(gui): TouchDialog modal racing EnrollOwn against EnrollmentFailed signal michael 2026-04-27 09:24:50 -07:00
  • 402addca27 chore(daemon): add argon2 0.5 for recovery code hashing michael 2026-04-27 09:23:20 -07:00
  • eb208579e3 refactor(daemon): centralize username path-segment sanitizer michael 2026-04-27 09:22:23 -07:00
  • f11047fbcb feat(gui): list enrolled credentials with per-row remove + enroll button michael 2026-04-27 09:21:45 -07:00
  • 5d6b7ceeb0 feat(gui): KeysPage scaffold + tokio runtime in main, gtk::Box layout michael 2026-04-27 09:20:31 -07:00
  • de369ef390 docs(plan): step-level plans for Phase 12 backend and Phase 9 + Phase 12 GUI michael 2026-04-27 09:14:57 -07:00
  • d07d3469fe feat(gui): D-Bus client wrapper around AuthForge interface michael 2026-04-27 09:13:14 -07:00
  • d7e6d562dd feat(gui): error helper to classify zbus errors and produce user messages michael 2026-04-27 09:11:06 -07:00
  • 8d6b80276e chore(gui): add zbus + tokio + futures-util deps for D-Bus client michael 2026-04-27 09:08:02 -07:00
  • a17f70c4ac docs(plan): fix Phase 8 zbus runtime path (no glib feature exists) michael 2026-04-27 09:05:58 -07:00
  • 5294ef61ce docs: add Phase 8 GUI Keys tab implementation plan michael 2026-04-27 08:55:04 -07:00
  • 481f7f8543 docs: consolidate roadmap with status legend and per-phase closeout notes michael 2026-04-27 08:48:34 -07:00
  • 5668ba1f69 docs: mark Phases 4, 5, 15, 16 done in roadmap michael 2026-04-27 08:42:19 -07:00
  • 7eae081dd7 Merge branch 'gnome-integration-lane' michael 2026-04-27 08:41:15 -07:00
  • 61f89abae0 Merge branch 'ansible-lane' michael 2026-04-27 08:41:10 -07:00
  • 5c94319bf0 feat(daemon): policy apply via pam-auth-update + lockout simulator (Phase 4+5) michael 2026-04-27 08:41:00 -07:00
  • 407e71072d ansible: document role variables and ship example playbook michael 2026-04-27 08:36:29 -07:00
  • 6e47dbd3df packaging: ship authforge-gnome-integration binary package michael 2026-04-27 08:35:33 -07:00
  • 457db3ced2 ansible: implement install + policy + pending tasks michael 2026-04-27 08:35:28 -07:00
  • e638a2defd gnome-integration: add Users-panel .desktop overlay and README michael 2026-04-27 08:34:50 -07:00
  • 792dca976d ansible: scaffold dangerousthings.authforge role skeleton michael 2026-04-27 08:34:26 -07:00
  • 865e37b6aa docs: mark Phases 3, 6, 7 done in roadmap michael 2026-04-27 08:30:09 -07:00
  • 22938f657a feat(daemon-fido): Authenticator trait + Mock + Ctap impl + signals (Lane A) michael 2026-04-27 08:29:42 -07:00
  • 01df2109d8 chore: add ctap-hid-fido2 + hex deps for Phase 3 (Task A1) michael 2026-04-27 08:20:15 -07:00
  • 1c6c361d4a docs(pam): smoke-test recipe + test PAM stack file (Task B2) michael 2026-04-27 08:19:18 -07:00
  • 209167df22 feat(pam): real pending-flag check with path-traversal guard (Task B1) michael 2026-04-27 08:18:57 -07:00
  • 0697ba1c65 feat(cli): D-Bus client wrapper + full subcommand dispatcher michael 2026-04-27 08:18:17 -07:00
  • 1b223fe4f9 feat(cli): authforgectl subcommand structure with clap derive (Task C1) michael 2026-04-27 08:16:29 -07:00
  • 6351041a6c docs: expand Phases 3+6+7 to step granularity (multi-lane bundle) michael 2026-04-27 08:15:20 -07:00
  • 8f4225d136 docs: add Parallel Execution Lanes section to roadmap michael 2026-04-27 07:52:30 -07:00
  • f655d41f5c docs: mark Phase 2 done in roadmap, capture closeout notes michael 2026-04-27 06:45:11 -07:00
  • 24237cbf8b refactor(daemon): AppState delegates to storage modules; dbus tests use tempdir michael 2026-04-27 06:44:07 -07:00
  • 90f7a0f4fc feat(daemon): storage::userdb sqlite cache for enrollment registry michael 2026-04-27 06:29:36 -07:00
  • eb3362c81c feat(daemon): storage::credentials parser, CRUD, and per-user vs central path michael 2026-04-27 06:29:00 -07:00