Revert "module: preserve symlinks when requiring"#6536
Closed
saper wants to merge 2 commits intonodejs:masterfrom
Closed
Revert "module: preserve symlinks when requiring"#6536saper wants to merge 2 commits intonodejs:masterfrom
saper wants to merge 2 commits intonodejs:masterfrom
Conversation
After much discussion, it seems that the change broke the way require detects unique identity of the binary modules. While resolving module's full path is not sufficient and maybe even not elegant (like anything that requires the use of realpath() except for certain security scenarios), we cannot break multiple inclusions of binary modules across symlinked, substed or otherwise hidden paths. There should be a test case invoving a binary module to check for issues related to the binary module identity. This reverts commit de1dc0a.
Member
|
Already working on it: #6537 |
Author
Member
|
+1, if you don't mind I'll cherry pick that into my PR |
5ba41d8 to
3acde0d
Compare
Attempt to load the binary module disguised behind two symlinked locations. Big thanks to Michael Mifsud <xzyfer@gmail.com> for preparing a proper test case.
Member
4 tasks
Author
|
I have restored this in #6721. |
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.
After much discussion, it seems that the change
broke the way require detects unique identity of
the binary modules. While resolving module's
full path is not sufficient and maybe even
not elegant (like anything that requires the use
of realpath() except for certain security scenarios),
we cannot break multiple inclusions of binary
modules across symlinked, substed or otherwise
hidden paths.
There should be a test case invoving a binary
module to check for issues related to the binary
module identity.
Revert #5950
This reverts commit de1dc0a.