On Fri, Aug 4, 2017 at 2:46 AM, Nico Williams <n...@cryptonector.com> wrote:
> On Tue, Aug 01, 2017 at 10:56:47AM -0700, Matt Chambers wrote: > > load_extension() has the very sensible behavior of: > > > So for example, if "samplelib" cannot be loaded, then names like > > > "samplelib.so" or "samplelib.dylib" or "samplelib.dll" might be tried > > > also. > > > > I would like to see that extended to include "libsamplelib.so" since > that is > > the default naming scheme on many *nix platforms. This simple change > would > > allow me to use the same base library name for my extension on both > Windows > > and Linux. Otherwise I have to modify my build system to override its > > default behavior of adding the lib prefix on Linux. > > You're mistaken. > > lib<name>.so is NOT "the default naming scheme on many *nix platforms". > > lib<name>.so is the naming scheme when you want the link-editor (e.g., > ld(1)) to find a library using -l<name>. > > But loadable modules are almost never meant to be used that way. > They're usually meant to be used only through dlopen() and friends. While you're technically correct, Matt's request seems completely reasonable to me. If SQLite wasn't doing *any* changes to the filename, not adding the extension for example, you may have had a point, but since it does, trying with the lib prefix on Linux, which is undeniably a common naming convention on Linux, seems like a worthwhile addition. It is true after all most build system will be default use that "ld-based" naming convention, and that there's no distinction for a shared lib meant to be loaded explicitly via dlopen/LoadLibrary or one that's implicitly linked with an executable. If fact, you can have the same shared lib SQLite "extension" used both ways, explicit-loading by sqlite3.exe, and implicit-loading by custom-app.exe. I really don't see what's controversial with Matt's request :) It's not like load-extension is a performance-critical operation, that trying an extra load is that expensive. And the security consideration that an "attacker" could make it load his own library instead, but using a different name tried before the actual one is moot IMHO, since extension loading is by nature unsafe. In short, I support Matt's request and I hope DRH considers it seriously. FWIW :). --DD _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users