Commit 94dbf19
committed
test(e2e): 166 asserted the mechanism, not the capability
166 exists for mcpp#291 and had two halves. The negative half — a plain
binary must not be handed the private glibc — is still exactly right and
is unchanged. The positive half required the opposite in the presence of
a dlopen-reachable dependency: the payload dir HAD to be on
LD_LIBRARY_PATH, "because dlopen'd libraries do not consult the
executable's RUNPATH".
The guard was right to exist. It stopped anyone from "fixing" #291 by
deleting the entry and quietly breaking dlopen. But it pinned the
mechanism rather than the capability, and the mechanism's premise was
false: a dlopen() performed by the executable does consult the
executable's DT_RUNPATH, and the link model already puts the payload
glibc there — the artifact's RUNPATH is byte-identical with and without
the environment entry. So the entry bought nothing while reaching every
descendant process, which is how it became mcpp#401.
The capability it was protecting now lives in 208, which asserts the
dlopen actually resolves. 166 keeps the rule it is named for and now
applies it to both shapes, plus one new assertion: the project's own
[runtime] library_dirs entry must still be there. Only the private libc
is binary-scoped; dropping ordinary runtime dirs too would be a
different regression that the negative assertion alone would not catch.
Full local Linux e2e on this HEAD: 202 passed, 0 failed, 8 skipped.1 parent 19e6c85 commit 94dbf19
1 file changed
Lines changed: 38 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
65 | | - | |
66 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
67 | 84 | | |
68 | 85 | | |
69 | | - | |
| 86 | + | |
70 | 87 | | |
71 | 88 | | |
72 | 89 | | |
| |||
85 | 102 | | |
86 | 103 | | |
87 | 104 | | |
88 | | - | |
| 105 | + | |
89 | 106 | | |
90 | 107 | | |
91 | 108 | | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
96 | 125 | | |
97 | 126 | | |
98 | 127 | | |
| |||
0 commit comments