289 views
oo7-daemon ========== oo7-daemon: the new DBus Secret Service provider, initial test results. pull request: https://github.com/bilelmoussaoui/oo7/pull/73 Executing `oo7-daemon`: ``` cd oo7/server cargo run --release ``` ## Test results: - ### `secret-tool`: Initial objects (objectpaths) tree: ``` busctl --user tree org.freedesktop.secrets ``` ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/2259a43d-5e12-43ee-a822-10590cc35028.png) `oo7-daemon` currently cannot parse existing keyrings in .local/share/keyrings/. Specifically the Login/default keyring. Because, `oo7-daemon` currently doesn't have a Prompt (UI served by the gnome-shell) to retrieve the passwords associated with keyrings. `secret-tool` interacts with the Login keyring. Since `oo7-daemon` cannot load the Login keyring the tests were unsuccessful. ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/73606a10-c9bc-44d9-b67e-05b6b89edd9a.png) - ### `oo7-cli`: Similar to `secret-tool`, `oo7-cli` also interacts with the Login keyring. But, if there is no Login keyring available, `oo7-cli` will create one for you. ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/1722d2b9-a6a5-4fa4-a8e7-018e37723482.png) ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/3303ba0d-e7c1-42f0-aa9f-a8483295e960.png) Even though a new keyring (named "Login") is created by `oo7-cli`, creating a new Item (storing a password in the keyring) operation still fails. Note: the keyring just created is unencrypted. Infact currently all the keyrings created based on oo7-daemon as the DBus Secret Service provider will be unencrypted. Because, the oo7-daemon doesn't have a prompt to get a password input. - ### `Seahorse`: Executing Seahorse **without** DBus Secret Service provider: ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/2b307120-b54b-4f6f-bd8a-d3144aca7a1d.png) Executing Seahorse **with** oo7-daemon as the DBus Secret Service provider: ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/609bd8ca-f237-44d8-87aa-0297492ca41d.png) Creating a new keyring with Seahorse: ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/d2282d3b-8000-42f4-9e4b-b86ad14e96a9.png) Now the objects tree: ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/37869232-6f2a-45ac-81ed-559c1c14e247.png) * Creating a new keyring with Seahorse is possible. And unencrypted keyrings are created. * Newly created keyrings are not shown immediately in Seahorse (the usual behavior). * One needs to close and re-lauch Seahorse to see the newly created keyring. ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/fedbbc32-d19b-43ac-8ead-74de9ef68e1a.png) - Newly created `oo7` keyring is not in the default location. ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/7cde4108-31a5-49f8-85ba-caa1a3492a1f.png) Storing a password with Seahorse: ![](https://s3.us-east-2.amazonaws.com/hedgedoc-gnome-org/uploads/21f2c89b-d1ec-4194-8224-2176efc4027e.png) - Operation fails and no error messages are visible.