Avoid crash in gnutls logging when crypt libraries got unloaded.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59163

When using one of the debug channels +bcrypt, +crypt or +secur32 alone, and that dll gets unloaded, and one of the other dlls gets loaded, there happens a "silent" crash at the unix-side, which makes this other dll loading fail. The crash consists of gnutls still holding the pointer to the logging function of the unloaded dll.

One workaround would be to always use all three debug channels together.

An improvement may be this patches, which set the logging function pointer to zero. But this may silence some expected logging from gnutls, when multiple of the crypt dlls are loaded at the same time.

Best solution may be to access gnutls through a single unix library, currently there are three, one for each dll.

Merge request reports

Loading