DescriptionImplement Connector::ApplySpec() & use to enforce navigation:frame.
Rather than having InterfaceRegistry in the Service Manager client library implement capability enforcement in the client library (which forces us to shunt around capability info), we've been trying to have the Service Manager itself do enforcement. This is straightforward for connection-level requests, but for frame interfaces we would like to apply this enforcement on a defined scope as specified in the manifest, where the requestor-requestee relationship is direct currently and doesn't include the service manager.
Instead would like to route these requests through the service manager. This change adds a method to Connector() called ApplySpec which allows an InterfaceProviderSpec to be enforced on an InterfaceProvider&. The idea is:
1. some untrusted remote service calls in wanting an InterfaceProvider& to be bound.
2. target service wishes to have service manager control interface access on this IP& by some named spec. Forwards IP& to Service Manager and asks it to enforce named spec. As part of this it provides an IP back to itself that the Service Manager can forward allowed requests to.
3. SM performs filtering, forwarding permitted requests on to target service.
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2816393002
Cr-Commit-Position: refs/heads/master@{#467415}
Committed: https://chromium.googlesource.com/chromium/src/+/b932d5ad0c349295c9d10de144f9358370e57b5c
Patch Set 1 #Patch Set 2 : . #Patch Set 3 : . #Patch Set 4 : . #Patch Set 5 : . #Patch Set 6 : . #Patch Set 7 : . #
Total comments: 2
Patch Set 8 : . #Patch Set 9 : . #
Total comments: 14
Patch Set 10 : . #Messages
Total messages: 55 (40 generated)
|