Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ocap violations: environ_get, random_get, and possibly clock_time_get #748

Closed
erights opened this issue Dec 24, 2019 · 1 comment
Closed

Comments

@erights
Copy link

erights commented Dec 24, 2019

Reported to me by @dckc . Resembles issues already discussed in a previous WASI meeting. Though I cannot find an issue recording the resolution of that discussion. Attn @sunfishcode @tschneidereit @linclark

At least the following

are not conditioned on presentation of a capability, and so provide ambient authority to outside state.

I see that now

does require an __wasi_clockid_t argument. However, this argument type is currently aliased to uint32_t. Is this a placeholder for a capability, waiting to be fixed once we have reference types? Is there a way to tell which types are placeholders for future capability types?

@erights erights changed the title ocap violations: ocap violations: environ_get, random_get, and possibly clock_time_get Dec 24, 2019
@sunfishcode
Copy link
Member

Thanks for the report! This is being tracked in https://github.com/WebAssembly/WASI/issues/118.

The main question is how we should arrange for capabilities to be passed into applications. We have a few possible approaches, such as extending the preopen system, or using the interface types system currently under development to describe program interfaces.

To answer your question about types, the witx interface language now has a dedicated handle tyhpe which allows us to indicate the semantics of resource handles, regardless of how they're actually implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants