| commit | aa17bba4cf9a061e8f066cff52fc0eeeb13b2eef | [log] [tgz] |
|---|---|---|
| author | Yifei Teng <yifeit@fuchsia.infra.roller.google.com> | Tue Oct 17 04:38:48 2023 +0000 |
| committer | Copybara-Service <copybara-worker@google.com> | Mon Oct 16 21:39:56 2023 -0700 |
| tree | 3897a95cf2a0d9847741b3c6bd09414d35aa2dc3 | |
| parent | 05590abce4debfac2094e73124cfc37a99ca8596 [diff] |
[roll] Roll fuchsia [bedrock] Router Request rights are now optional Previously one must specify some flags in a router request. That turned out to be wrong, since the flags in a router request does not correspond to the flags a consumer program would specify in its open request. If we look at component manager in production, if a directory capability is routed with rights "r*" and a consumer program opens that directory with flag RIGHT_WRITABLE, things happen in two steps: - The corresponding entry in provider component's outgoing directory is opened with flag RIGHT_READABLE, corresponding to "r*". - The open request with RIGHT_WRITABLE written by the consumer program is forwarded to the newly opened connection. In fact this is done by component_manager listening for messages on the server endpoint, and then passing the server endpoint to the provider component as it is opening the new connection. Therefore there are two opens. The router request is only concerned with the first open, that is used to accomplish routing. The second open/whatever options the consumer sets on their channel is irrelevant. This CL fixes that problem by ensuring rights and relative_path only participates in the first open. The way an Open capability handles Router requests is to return a Directory capability that is downscoped to the requested rights and requested path. Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/930499 Original-Revision: c4d53976b3ed7d92ac7d8269b9385d63bc7c73a1 GitOrigin-RevId: 8688bd2cc81e35b1f75033e7ea0f31f8e3e8d3a2 Change-Id: I9b191d8dd3fd9286e5a6c89605cad340415492a2
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.