Feature(authentication): add Linux support using zbus and polkit#5
Feature(authentication): add Linux support using zbus and polkit#5tyreseluo wants to merge 17 commits intoproject-robius:mainfrom
Conversation
- Replace polkit and gio dependencies with zbus and zbus_polkit - Implement D-Bus-based authentication for Linux using polkit - Add complete Linux implementation module with proper error handling - Add Tyrese Luo as co-author to authentication crate - Update example to handle Linux async authentication pattern - Add comprehensive Linux usage documentation to README - Enable Linux target in sys.rs module
…tweaks - note Linux action ID requirement in example and expose PolicyBuilder::action_id on Linux - cache system bus and polkit authority, name auth thread, refine authorization result handling - make authentication Error clonable for reuse in cached results
kevinaboos
left a comment
There was a problem hiding this comment.
Thanks Tyrese, I really appreciate this contribution!
I left a few comments about documentation style/location, but the most important questions I have are about the proper way to determine what kind of authentication error occurred. Doing a string search of the error message cannot possibly be the correct way.
Co-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>
Co-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>
Co-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>
…to add_authentication_for_linux
- Document Release mode policy installation with cargo-packager - Clarify async auth flow in the CLI example - Tighten polkit error mapping/logging and internal visibility
|
Hi! @kevinaboos I have resolved all issues and updated the Linux section of the README. You may review it again. Thank you very much. |
|
Excellent, thanks! I will take a look shortly. |
kevinaboos
left a comment
There was a problem hiding this comment.
I left a few comments, mostly questions/concerns about Linux system behavior and how it might violate some assumptions that you've made.
- replace action_id with action_ids allowlist - add InvalidActionId and Linux validation - update examples and policy template
|
All problems was resolved, I've grown. Thanks @kevinaboos! You can review again 🤝🤝🤝 |

PR content
Add Linux support using zbus and polkit for authentication crate and clear the database errors under Linux.
The basic Linux authentication pop-up has been implemented, but some details still need to be confirmed.
Still in development, with an update coming this week.
PR Changes