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

Intrinsic internal capability and package type #61

Merged
merged 3 commits into from
Feb 7, 2022
Merged

Conversation

robotlolita
Copy link
Contributor

@robotlolita robotlolita commented Feb 7, 2022

The idea is that the package type and internal capability can be the standard way of sealing types and commands that are meant to be internal. The package type also provides programmatic access to package internal data---currently this is used to implement sandboxed file systems for each package---in the browser this is done by generating a set of routes with opaque tokens in them, this token is then granted to each package and used to generate the URL for each asset file.

There's quite a lot that still needs to be done to make this actually safe, but won't be done in this PR. Plus this change does highlight the need of adding support for optional capabilities before the stable release, as otherwise we're forced to grant strong capabilities just to load a package.

This patch also removes the dependency on uuid, as the only one we care about (random 128 bit UUID) is provided natively by both browsers and Node.

@robotlolita robotlolita added c:vm Changes to the VM, compiler,, or language semantics c:stdlib Changes to the standard library labels Feb 7, 2022
@robotlolita robotlolita added this to the Crochet 0.14 milestone Feb 7, 2022
(The launcher *is* broken right now due to other changes, and it's being rewritten in a separate branch, but hasn't been removed from the tree yet so of course it's causing CI issues...)
@robotlolita robotlolita merged commit 577ee1d into main Feb 7, 2022
@robotlolita robotlolita deleted the patch/internal branch February 7, 2022 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:stdlib Changes to the standard library c:vm Changes to the VM, compiler,, or language semantics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant