diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-26 14:05:21 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-27 12:50:53 +0100 |
commit | 06fa04f63379899933b503bbfcd233e5d70f3c87 (patch) | |
tree | 60919d0a4850c0ddc7da92d78a0e4ce8aa176251 /go-patches/0002-cmd-link-deal-with-ADDR32NB-relocations-the-same-way.patch | |
parent | manager: move legacy store from conf (diff) | |
download | wireguard-windows-06fa04f63379899933b503bbfcd233e5d70f3c87.tar.xz wireguard-windows-06fa04f63379899933b503bbfcd233e5d70f3c87.zip |
fetcher: delay load anything with transitive dependencies outside of knowndlls
It looks like advapi32.dll loads cryptbase.dll because RtlGenRandom is
forwarded to it, and cryptbase.dll isn't in knowndlls. So, even though
we haven't done anything wrong by importing advapi32.dll statically, the
surprising forwarding behavior means that this is a disaster. At the
same time, some UI-related system modules wind up calling loadlibraryex with
default arguments, so again, even though linking to things like
user32.dll and such statically is fine, microsoft is doing the wrong
thing inside of them. Work around the first issue by loading
advapi32.dll (and others, just for good measure) delayed, and work
around the latter by gimping the dll search path.
Reported-by: Stefan Kanthak <stefan.kanthak@nexgo.de>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'go-patches/0002-cmd-link-deal-with-ADDR32NB-relocations-the-same-way.patch')
0 files changed, 0 insertions, 0 deletions