qrexec-policy-agent¶
Protocol¶
The policy agent works as a socket-based service. It handles the following Qubes RPC calls:
policy.Ask¶
Display a prompt about whether to allow an action.
The request is a JSON dictionary with the following keys:
source- source domain ("work")service- name of service without argument ("qubes.Filecopy")argument- argument, always starts with+("+arg","+"if empty)targets- list of possible targets (["personal", "@dispvm:work"])default_target- initially chosen target ("personal") or empty string ("")icons- a dictionary icon names (recognizable by GTK) for all domains mentioned in other keys ({"personal": "red", "work": "green", ...})
The response is plain ASCII. It’s either allow: followed by a chosen target (allow:personal) or deny.
policy.Notify¶
Display a notification regarding an action.
The request is a JSON dictionary with the following keys:
resolution- one of:“allow” - the service was allowed to run
“deny” - the service was denied
“fail” - the service was allowed, but failed to start
source- source domain (“work”)service- name of service without argument ("qubes.Filecopy")argument- argument, always starts with+("+arg","+"if empty)target- target, either intended (in case of"deny") or actual (otherwise)
The response is empty.