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.