Skip to content

crypto: account for disabled SharedArrayBuffer - #50034

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
codebytere:maybe-sab-undefined
Oct 6, 2023
Merged

crypto: account for disabled SharedArrayBuffer#50034
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
codebytere:maybe-sab-undefined

Conversation

@codebytere

@codebyterecodebytere commented Oct 4, 2023

Copy link
Copy Markdown
Member

Xref electron/electron#40070

It's possible for SharedArrayBuffers to be disabled with --no-harmony-sharedarraybuffer. If they are disabled and a user goes to use for example webcrypto.subtle.importKey, they will see the following error:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'prototype')
at isSharedArrayBuffer (node:internal/crypto/webidl:187:57)
at Object.BufferSource (node:internal/crypto/webidl:208:9)
at SubtleCrypto.importKey (node:internal/crypto/webcrypto:585:36)
at worker.js:6:18

This handles that case similarly to how it's handled elsewhere in the codebase.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/crypto

@nodejs-github-botnodejs-github-bot added crypto Issues and PRs related to the crypto subsystem. needs-ci PRs that need a full CI run. labels Oct 4, 2023
@panvapanva added the request-ci Add this label to start a Jenkins CI on a PR. label Oct 4, 2023
@panvapanva added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Oct 4, 2023
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 4, 2023
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Comment threadlib/internal/crypto/webidl.js Outdated
H4ad
H4ad approved these changes Oct 4, 2023
@panvapanva added the request-ci Add this label to start a Jenkins CI on a PR. label Oct 4, 2023
@github-actionsgithub-actionsBot removed the request-ci Add this label to start a Jenkins CI on a PR. label Oct 4, 2023
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@panvapanva added the commit-queue Add this label to land a pull request using GitHub Actions. label Oct 5, 2023
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Oct 6, 2023
@nodejs-github-bot
nodejs-github-bot merged commit 136a967 into nodejs:mainOct 6, 2023
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Landed in 136a967

targos pushed a commit that referenced this pull request Nov 11, 2023
PR-URL: #50034
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@targostargos mentioned this pull request Nov 12, 2023
codebytere added a commit to electron/electron that referenced this pull request Dec 8, 2023
codebytere added a commit to electron/electron that referenced this pull request Dec 8, 2023
codebytere added a commit to electron/electron that referenced this pull request Dec 11, 2023
* chore: bump node in DEPS to v20.10.0
* chore: update feat_initialize_asar_support.patch
no code changes; patch just needed an update due to nearby upstream changes
Xref: nodejs/node#49986
* chore: update pass_all_globals_through_require.patch
no manual changes; patch applied with fuzz
Xref: nodejs/node#49657
* chore: update refactor_allow_embedder_overriding_of_internal_fs_calls
Xref: nodejs/node#49912
no code changes; patch just needed an update due to nearby upstream changes
* chore: update chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch
Xref: nodejs/node#49986
minor manual changes needed to sync with upstream change
* update fix_expose_the_built-in_electron_module_via_the_esm_loader.patch
Xref: nodejs/node#50096
Xref: nodejs/node#50314
in lib/internal/modules/esm/load.js, update the code that checks for
`format === 'electron'`. I'd like 👀 on this
Xref: nodejs/node#49657
add braces in lib/internal/modules/esm/translators.js to sync with upstream
* fix: lazyload fs in esm loaders to apply asar patches
* nodejs/node#50127
* nodejs/node#50096
* esm: jsdoc for modules code
nodejs/node#49523
* test: set test-cli-node-options as flaky
nodejs/node#50296
* deps: update c-ares to 1.20.1
nodejs/node#50082
* esm: bypass CommonJS loader under --default-type=module
nodejs/node#49986
* deps: update uvwasi to 0.0.19
nodejs/node#49908
* lib,test: do not hardcode Buffer.kMaxLength
nodejs/node#49876
* crypto: account for disabled SharedArrayBuffer
nodejs/node#50034
* test: fix edge snapshot stack traces
nodejs/node#49659
* src: generate snapshot with --predictable
nodejs/node#48749
* chore: fixup patch indices
* fs: throw errors from sync branches instead of separate implementations
nodejs/node#49913
* crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey
nodejs/node#50234
* esm: detect ESM syntax in ambiguous JavaScrip
nodejs/node#50096
* fixup! test: fix edge snapshot stack traces
* esm: unflag extensionless ES module JavaScript and Wasm in module scope
nodejs/node#49974
* [tagged-ptr] Arrowify objects
https://chromium-review.googlesource.com/c/v8/v8/+/4705331
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
debadree25 pushed a commit to debadree25/node that referenced this pull request Apr 15, 2024
PR-URL: nodejs#50034
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.cryptoIssues and PRs related to the crypto subsystem.needs-ciPRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@codebytere@nodejs-github-bot@panva@lpinca@anonrig@tniessen@richardlau@H4ad@KhafraDev