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

chore(ses): Revert ModuleSource shared intrinsic #2468

Merged
merged 2 commits into from
Sep 24, 2024

Conversation

kriskowal
Copy link
Member

This reverts commit 0d210a3.

Description

This change caused a failure for Lockdown on XS in Agoric SDK, indicating that it is a breaking change.

Testing Considerations

Reverting this change is a temporary mitigation.
We will first address the gap in XS CI coverage and then persue a fix.

Compatibility Considerations

We will pursue a follow-up change that addresses XS coverage in CI #2463 and then consider repairing the native ModuleSource intrinsic under repairIntrinsics in SES.

This reverts commit 0d210a3.

This change caused a failure for Lockdown on XS in Agoric SDK,
indicating that it is a breaking change.
Reverting this change is a temporary mitigation.
We will first address the gap in XS CI coverage and then
persue a fix.
@kriskowal kriskowal enabled auto-merge September 24, 2024 18:16
@kriskowal kriskowal merged commit 67d7187 into master Sep 24, 2024
15 checks passed
@kriskowal kriskowal deleted the kriskowal-revert-module-source-ses branch September 24, 2024 18:21
kriskowal added a commit that referenced this pull request Sep 26, 2024
Refs: #2463, #2252

## Description

In #2463 we introduced ModuleSource to the SES permits, but this
interacted catastrophically with the native XS ModuleSource. We reverted
this change #2468 to unbreak Agoric SDK integration. This change
reintroduces the ModuleSource permits, such that they are compatible
with both XS and the `@endo/module-source/shim.js`, which anticipates
the introduction of an AbstractModuleSource base class. Because SES can
more gracefully tolerate the absence of an permitted [[Proto]] than the
presence of a non-permitted [[Proto]], this adjusts the shim to ensure
that the AbstractModuleSource shape exists as a side-effect of
repairs/taming, before permits are applied.

### Security Considerations

Increase in memory safety exposure in native code implementation of ModuleSource where applicable.

### Scaling Considerations

None.

### Documentation Considerations

This change reintroduces a note in NEWS.md for the next release.

### Testing Considerations

The prior regression went unnoticed because we did not yet have CI for
XS #2465. With this change, `yarn test:xs` in SES validates the shim on
XS. We also test `@endo/module-source/shim.js` in
`ses/test/module-source.test.js` on Node.js.

### Compatibility Considerations

This change is designed to tolerate either path forward for the
language, whether or not it accepts an AbstractModuleSource base class.

### Upgrade Considerations

None.
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

Successfully merging this pull request may close these issues.

2 participants