-
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