Repository navigation
docs: document id rustix LD_PRELOAD compatibility - #15261
Conversation
The build section of README.md and the packaging guide now explain that this backend skips libc interposition, with fakeroot and `id -u` as the case that still reports the real UID. Both pages document `cargo build --release --features unix,rustix/use-libc` to build the multicall binary with rustix's libc wrappers, and they note that the backend is a compile-time Cargo feature, that a statically linked executable still cannot be interposed this way, and that the libc backend does not cover every operation. The spell-checker ignore lists in both files include fakeroot. Refs uutils#13399
|
Please remove Closes #HASH . it should be closed after |
|
Also I don't think we should document this. We don't document other all bugs. |
| cargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm | ||
| ``` | ||
|
|
||
| #### libc interposition (`LD_PRELOAD`) |
There was a problem hiding this comment.
this is almost the same text as in packaging.md, please keep it only there
| option in `cargo`. | ||
|
|
||
| On Linux, rustix's raw syscall backend bypasses libc function interposition. | ||
| An `LD_PRELOAD` interceptor such as `fakeroot` cannot override affected calls |
There was a problem hiding this comment.
only id? if other utils are affected, please list them, otherwise say just id
There was a problem hiding this comment.
It is probably difficult to list all utils. Add "for example" to somewhere.
| cargo build --release --features unix,rustix/use-libc | ||
| ``` | ||
|
|
||
| This is a compile-time Cargo feature. No runtime setting selects the rustix |
There was a problem hiding this comment.
could you please drop this paragraph? the line above already says it's a cargo feature
Per review: drop the duplicate README section, say the libc interposition limit affects some utilities with id as an example, and remove the paragraph that repeated that the backend is a Cargo feature. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KFTE4BHbGYzgf8Uhzcppdh
|
Thanks @sylvestre, all three are in 7d35ab1: the README section is gone so the note lives only in packaging.md, the text now says some utilities are affected with |
|
Thanks for your PR |
The build section of README.md and the packaging guide now explain that this backend skips libc interposition, with fakeroot and
id -uas the case that still reports the real UID. Under fakeroot, the multicall binary'sid -ustill prints the caller's real UID.Closes #13399
AI was used for assistance.