On Mon, Jul 22, 2024 at 2:43 AM Stefan Oltmanns via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> wrote: > > Am 22.07.24 um 00:15 schrieb Hendrik Leppkes: > > On Mon, Jul 22, 2024 at 12:08 AM Stefan Oltmanns via ffmpeg-devel > > <ffmpeg-devel@ffmpeg.org> wrote: > >> > >> Am 18.07.24 um 17:23 schrieb epira...@gmail.com: > >>> > >>>>> > >>>>> Well, the DLL directory is added to PATH by the VapourSynth installer, > >>>>> but for safety reasons ffmpeg explictly tells the LoadLibrary function > >>>>> to only search the application directory and system32, quote from > >>>>> w32dlfcn.h: > >>>>> > >>>>>> /** > >>>>>> * Safe function used to open dynamic libs. This attempts to improve > >>>>>> program security > >>>>>> * by removing the current directory from the dll search path. Only > >>>>>> dll's found in the > >>>>>> * executable or system directory are allowed to be loaded. > >>>>>> * @param name The dynamic lib name. > >>>>>> * @return A handle to the opened lib. > >>>>>> */ > >>>>> So ffmpeg prevents that solution on purpose. Or should that behavior be > >>>>> changed in the w32dlfcn.h? > >>>> > >>>> Oh, bummer. I would expect that overriding the PATH environment > >>>> variable would work kind of like how LD_LIBRARY_PATH works on Linux. I > >>>> don't know why that was changed. I don't really follow what goes on in > >>>> Windowsland anymore. Does anyone else care to comment on this? Martin, > >>>> maybe? > >>> > >>> IIRC this is done to prevent DLL injection attacks > >>> > >>> https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-security > >>> > >> > >> So what's your proposal how to continue? > >> > >> I see different options with pros&cons: > >> > >> > >> 1. > >> Read the DLL path from registry, function for that could be located > >> outside the VapourSynth module. > >> > >> Pro: Safest method to protect from DLL-injection > >> Con: A lot of custom code/functionality for Windows > >> > > > > Relaxing security considerations to avoid a 10 line function seems not > > worth it to me. So go with actually finding the correct path. > > > > Ok, should that function remain in the vapoursynth module, or should > handling the registry be done in a header like "compat/w32registry.h"? > > An external file with a universal function would of course require more > code. >
Just have it in vapoursynth. Compat would be the wrong place for it, but in general I don't think we're going to need a lot of registry access in the future. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".