Add privledge feedback
TLDR; Add client operation (privledge) feedback
I see a lot in protocol discussion comments and even with some protocol specifications themselves a mention of 'privilege'. Subsequently, I am confused as to why?
A determination of whether an operation is privileged (i.e. may not succeed or is otherwise invalid given the context to which the client is requesting it from) is determined by the enforcing compositor (in accordance with their policy). I don't see how Wayland (as a protocol specification, not an implementation) could cite that an operation is privileged without knowing the policy that each compositor is acting in accordance with.
I also see that the Wayland Core specification lacks a method by which a client requesting any operation is provided feedback that such an operation is beyond its current privilege. The best provisions that I see provided for privilege separation are:
- registry presence (i.e. a particular object may not be advertised as supported if such objects are deemed privileged)
- version specific (i.e. a protocol version difference may make some operations privileged)
- protocol specific (i.e. some protocols dictate, often vaguely, that an operation may be privileged)
This is particularly an issue when trying to write a portable functionally correct client which would like to provide an applicable fallback or perform a privilege escalation.
Related to this is the general lack of feedback a number of client requests receive (e.g. xdg_shell:xdg_toplevel:set_fullscreen(), was the request actually honored?). Basic feedback (return codes/events/etc.) are often a mandatory provision of any specification. Furthermore, when a privilege separation can exist, privilege feedback is often provided as well (even basic 'EACCES' rejection is often sufficient).
I haven't put forth a protocol to provide this feedback, as this seems like something fundamental the Wayland Core specification should be specifying, but perhaps an additional protocol is easier to implement going forward? Thoughts?
Related #56