<div dir="ltr">On macOS, we (Netty) do local codesign of the libraries before loading them, which has been working so far.<div>I otherwise agree that it's desirable to move to a situation where we could instead rely on the libraries installed in a given system.</div><div>Panama thankfully makes this possible, in theory anyway. The main problem we'd run into would be BoringSSL, which is our preferred TLS implementation, but they don't do releases and is typically not something you can install from e.g. a Linux package manager.</div><div>As an open source library, we can't require that people use a commercial product for extracting the native binaries we ship. (They could, if they want, but we can't require it)</div><div><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Jan 17, 2025 at 9:21 AM Mike Hearn <<a href="mailto:mike@plan99.net">mike@plan99.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>AFAIK Conveyor is the only tool that can (re)sign libraries inside jars so you'll probably end up with either a mix of different signers or some code being unsigned, unless you do a lot of manual scripting.</div><div><br></div><div>If you restrict your view to only Linux then code signing doesn't matter. But the general trend is the same: apps are expected to be immutable collections of files that don't modify their install directory or load code from temporary directories, home directories, etc. Docker, FlatPak, RPM/DEB all assume this, as does MSIX on Windows and the .app bundle format on macOS.</div><div><br></div><div>You can try and fight this with ever weirder and more brittle hacks, or accept the reality that apps should not be extracting shared libraries on the fly from JARs in the first place. That was only ever a convenience for developers and OS designers were never on board with it as a general architectural pattern.</div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
</blockquote></div></div>
</blockquote></div>