pub enum Ask {
Get {
key: String,
},
Set {
key: String,
value: String,
},
Clear {
key: String,
},
StoreGet {
key: String,
},
StoreSet {
key: String,
value: String,
},
StoreClear {
key: String,
},
StoreKeys,
}Expand description
A credential request, from the addon to the daemon.
There is no addon field, and that is the design. See
Credentials for the hole this shape closes: the
daemon knows which addon is asking because it knows which child it is
talking to, so an addon cannot name someone else’s.
Variants§
Get
Read one.
Set
Store one.
Clear
Forget one.
StoreGet
Read one from the addon’s own store (ADR-0027).
A different place from the three above, not a different key space. Those reach the OS credential store, which is for values that are the whole of an account’s authority; this reaches a store the daemon encrypts at rest and is for everything an addon wants to remember that is not a secret.
StoreSet
Write one to the addon’s own store.
What crosses this pipe is plaintext. The encryption is the daemon’s and is not optional — an addon that had to remember to ask for it would eventually produce a file indistinguishable from one that had reasoned about it.
StoreClear
Forget one from the addon’s own store.
StoreKeys
Every key in the addon’s own store.