Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
shell: do not allow multiuser access to shell services by default
Problem: Shell services registered by flux_shell_service_register() are "open to all" by default, and require a call to shell_svc_allowed() in each msg handler in order to secure the service against multi-user access. However, this design requires repetitive calls in every service message handler, and makes it more likely that plugins install insecure services when this call is forgotten. Furthermore, shell_svc_allowed() is not even exported publicly in the shell.h API, so it is impossible to create secure services via external shell plugins. Internally wrap all message handlers installed by shell_svc_register() and call shell_svc_allowed() so that all services are secure by default. If a use case ever arises that requires multiuser access to a shell service, then a separate api call can be created to export an insecure service, so that the security of the service is explicit. Fixes flux-framework#2876
- Loading branch information