crypto: cast oaepLabel to unsigned char*#30917
Closed
codebytere wants to merge 1 commit intonodejs:masterfrom
Closed
crypto: cast oaepLabel to unsigned char*#30917codebytere wants to merge 1 commit intonodejs:masterfrom
codebytere wants to merge 1 commit intonodejs:masterfrom
Conversation
Contributor
|
Correction: this doesn't have anything to do with those signatures. We required unsigned char and uint8_t to be the same type, and it is true in every platform I'm aware of. The signatures are identical. Rather it's that OpenSSL doesn't use any type signature at all. It's documented with that signature, but it's really a macro without any type-checking. The cast is needed to conform Node to the OpenSSL's documentation because C++ does not implicitly cast void*. |
tniessen
approved these changes
Dec 12, 2019
dfd12b7 to
e3b6c64
Compare
richardlau
approved these changes
Dec 12, 2019
addaleax
approved these changes
Dec 12, 2019
This comment has been minimized.
This comment has been minimized.
Collaborator
cjihrig
approved these changes
Dec 13, 2019
Trott
approved these changes
Dec 13, 2019
Collaborator
Collaborator
Collaborator
codebytere
added a commit
that referenced
this pull request
Dec 14, 2019
OpenSSL uses a macro without typechecking; since C++ does not implicitly cast void* this is needed to conform Node.js to the OpenSSL documentation. PR-URL: #30917 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Member
Author
|
Landed in cb76f27. |
MylesBorins
pushed a commit
that referenced
this pull request
Dec 17, 2019
OpenSSL uses a macro without typechecking; since C++ does not implicitly cast void* this is needed to conform Node.js to the OpenSSL documentation. PR-URL: #30917 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Merged
targos
pushed a commit
that referenced
this pull request
Jan 14, 2020
OpenSSL uses a macro without typechecking; since C++ does not implicitly cast void* this is needed to conform Node.js to the OpenSSL documentation. PR-URL: #30917 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
BethGriggs
pushed a commit
that referenced
this pull request
Feb 6, 2020
OpenSSL uses a macro without typechecking; since C++ does not implicitly cast void* this is needed to conform Node.js to the OpenSSL documentation. PR-URL: #30917 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Merged
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 12, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 12, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 15, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 18, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 21, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 21, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 24, 2020
codebytere
added a commit
to electron/electron
that referenced
this pull request
Feb 24, 2020
* chore: bump node in DEPS to v12.16.0 * Fixup asar support setup patch nodejs/node#30862 * Fixup InternalCallbackScope patch nodejs/node#30236 * Fixup GN buildfiles patch nodejs/node#30755 * Fixup low-level hooks patch nodejs/node#30466 * Fixup globals require patch nodejs/node#31643 * Fixup process stream patch nodejs/node#30862 * Fixup js2c modification patch nodejs/node#30755 * Fixup internal fs override patch nodejs/node#30610 * Fixup context-aware warn patch nodejs/node#30336 * Fixup Node.js with ltcg config nodejs/node#29388 * Fixup oaepLabel patch nodejs/node#30917 * Remove redundant ESM test patch nodejs/node#30997 * Remove redundant cli flag patch nodejs/node#30466 * Update filenames.json * Remove macro generation in GN build files nodejs/node#30755 * Fix some compilation errors upstream * Add uvwasi to deps nodejs/node#30258 * Fix BoringSSL incompatibilities * Fixup linked module patch nodejs/node#30274 * Add missing sources to GN uv build libuv/libuv#2347 * Patch some uvwasi incompatibilities * chore: bump Node.js to v12.6.1 * Remove mark_arraybuffer_as_untransferable.patch nodejs/node#30549 * Fix uvwasi build failure on win * Fixup --perf-prof cli option error * Fixup early cjs module loading * fix: initialize diagnostics properly nodejs/node#30025 * Disable new esm syntax specs nodejs/node#30219 * Fixup v8 weakref hook spec nodejs/node#29874 * Fix async context timer issue * Disable monkey-patch-main spec It relies on nodejs/node#29777, and we don't override prepareStackTrace. * Disable new tls specs nodejs/node#23188 We don't support much of TLS owing to schisms between BoringSSL and OpenSSL. Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR fixes an incompatibility between BoringSSL and OpenSSL in compilation through Electron.
OpenSSL has the signature
whereas BoringSSL has:
Changing this in BoringSSL would not have the correct effect, since label (as returned by
OpenSSL_memdup) is avoid*& C++ doesn't cast fromvoid*toT*without an explicit cast. OpenSSL has a lot of functions/macros that aren't typesafe which means we don't get the usual C++ type-checking and so this fails to compile without this patch.Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes