-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Fix and document --allow-paths
#11688
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
Conversation
1f2d4ba
to
f43ff68
Compare
7bca65c
to
cf1d71b
Compare
6c3a611
to
c707f13
Compare
I resolved all the CI problems I had here except for one that's happening on Windows and this one is actually something that I cannot really fix on our side. I suspect it's a bug in The issue is basically that some paths that have redundant One workaround I can think of (other than waiting for this to be fixed in boost) would be to just require these paths not to have such redundant segments. Possibly only on Windows. The user can always avoid it by using a normalized path anyway. |
cf1d71b
to
6feb4d5
Compare
7366309
to
50a5424
Compare
6feb4d5
to
2b1eeec
Compare
4318a62
to
50a5424
Compare
This now passes all tests. I disabled tests that trigger the bug in boost (but only on Windows and on boost <= 1.76). The problem is still there until boost 1.77 gets released and we start using it for release binaries. And even then anyone who builds with older boost will run into it. I think that's better than waiting until 1.77 is released and increasing the required version. Increasing it might cause problems for people who build on distros that do not have cutting-edge libraries and the bug is Windows-only anyway. To trigger it someone has to specifically use |
50a5424
to
8c5047f
Compare
6b271b3
to
acfa55b
Compare
8c5047f
to
11d7f09
Compare
acfa55b
to
97c1983
Compare
11d7f09
to
1e9873e
Compare
97c1983
to
92446cb
Compare
1e9873e
to
e0b56b3
Compare
#11686 approved, which now unblocks this PR. |
ac7741f
to
09925ba
Compare
Commits squashed. |
09925ba
to
a801c12
Compare
a801c12
to
d4d778d
Compare
@cameel It's a huge PR, took a while, sorry. But I think that's all "right" :) |
Thanks! Well, it's big but it's either that or splitting it into multiple PRs that depend on each other and in the past I've seen that long chains of dependent PRs get pretty confusing. Still, not sure if this turned out better. I'll probably go back to splitting them next time because that way the parts are smaller and easier to review. |
Fixes #4623.
Fixes #10059.
Depends on #11686 (draft until that one's merged).Merged.Cases that this PR fixes:
../dir/
or./dir/
.dir1/../dir2/
dir1/../dir2/
,dir1///dir2/
./../../dir/
.--allow-paths=a/,,b/
or--allow-paths ""
). These are now ignored.x=
). These are now ignored. After Fix remappings with empty targets #11685 they will not be possible at all.x=contract.sol
). These now whitelist the working dir./..
, wrong directory was whitelisted (e.g. forx=/a/b/..
the whitelisted dir was/a/b/
, not/a/
).x=/a/b/c.sol
the right directory is actually/a/b/
.