Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by acdha on Friday March 29, 2024 @01:38PM
(#39866840)
How many people read autoconf scripts, though? I think those filters are symptom of the larger problem that many popular C/C++ codebases have these gigantic build files which even experts try to avoid dealing with. I know why we have them but it does seem like something which might be worth reconsidering now that the tool chain is considerably more stable than it was in the 80s and 90s.
[ Parent
| on HN ]
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by bonzini on Friday March 29, 2024 @02:50PM
(#39867591)
How many people read build.rs files of all the transitive dependencies of a moderately large Rust project?
Autoconf is bad in this respect but it's not like the alternatives are better (maybe Bazel).
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by bdd8f1df777b on Saturday March 30, 2024 @05:12AM
(#39873148)
Bazel has its problems but the readability is definitely better. And bazel BUILD files are quite constrained in what it can do.
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by acdha on Saturday March 30, 2024 @08:36AM
(#39874246)
The alternatives are _better_ but still not great. build.rs is much easier to read and audit, for example, but it’s definitely still the case that people probably skim past it. I know that the Rust community has been working on things like build sandboxing and I’d expect efforts to be a lot easier there than in a mess of m4/sh where everyone is afraid to break 4 decades of prior usage.
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by bonzini on Saturday March 30, 2024 @02:38PM
(#39877445)
build.rs is easier to read, but it's the tip of the iceberg when it comes to auditing.
If I were to sneak in some underhanded code, I'd do it through either a dependency that is used by build.rs (not unlike what was done for xz) or a crate purporting to implement a very useful procedural macro...
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by salawat on Friday March 29, 2024 @03:32PM
(#39868076)
I mean, autoconf is basically a set of template programs for snffing out whether a system has X symbol available to the linker. Any replacement for it would end up morphing into it over time.
Some things are just that complex.
Re:Backdoor in upstream xz/liblzma leading to SSH server com...
by acdha on Friday March 29, 2024 @06:18PM
(#39869600)
We have much better tools now and much simpler support matrices, though. When this stuff was created, you had more processor architectures, compilers, operating systems, etc. and they were all much worse in terms of features and compatibility. Any C codebase in the 90s was half #ifdef blocks with comments like “DGUX lies about supporting X” or “SCO implemented Y but without option Z so we use Q instead”.