winhttp: Unload OpenSSL when unloading winhttp.
This commit is contained in:
parent
349e825080
commit
d7d8a0eec4
|
@ -42,6 +42,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
|
|||
DisableThreadLibraryCalls(hInstDLL);
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
netconn_unload();
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
|
|
|
@ -97,6 +97,7 @@ static SSL_CTX *ctx;
|
|||
MAKE_FUNCPTR( SSL_library_init );
|
||||
MAKE_FUNCPTR( SSL_load_error_strings );
|
||||
MAKE_FUNCPTR( SSLv23_method );
|
||||
MAKE_FUNCPTR( SSL_CTX_free );
|
||||
MAKE_FUNCPTR( SSL_CTX_new );
|
||||
MAKE_FUNCPTR( SSL_new );
|
||||
MAKE_FUNCPTR( SSL_free );
|
||||
|
@ -221,6 +222,7 @@ BOOL netconn_init( netconn_t *conn, BOOL secure )
|
|||
LOAD_FUNCPTR( SSL_library_init );
|
||||
LOAD_FUNCPTR( SSL_load_error_strings );
|
||||
LOAD_FUNCPTR( SSLv23_method );
|
||||
LOAD_FUNCPTR( SSL_CTX_free );
|
||||
LOAD_FUNCPTR( SSL_CTX_new );
|
||||
LOAD_FUNCPTR( SSL_new );
|
||||
LOAD_FUNCPTR( SSL_free );
|
||||
|
@ -270,6 +272,20 @@ BOOL netconn_init( netconn_t *conn, BOOL secure )
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void netconn_unload( void )
|
||||
{
|
||||
#if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO)
|
||||
if (libcrypto_handle)
|
||||
wine_dlclose( libcrypto_handle, NULL, 0 );
|
||||
if (libssl_handle)
|
||||
{
|
||||
if (ctx)
|
||||
pSSL_CTX_free( ctx );
|
||||
wine_dlclose( libssl_handle, NULL, 0 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
BOOL netconn_connected( netconn_t *conn )
|
||||
{
|
||||
return (conn->socket != -1);
|
||||
|
|
|
@ -215,6 +215,7 @@ BOOL netconn_connected( netconn_t * );
|
|||
BOOL netconn_create( netconn_t *, int, int, int );
|
||||
BOOL netconn_get_next_line( netconn_t *, char *, DWORD * );
|
||||
BOOL netconn_init( netconn_t *, BOOL );
|
||||
void netconn_unload( void );
|
||||
BOOL netconn_query_data_available( netconn_t *, DWORD * );
|
||||
BOOL netconn_recv( netconn_t *, void *, size_t, int, int * );
|
||||
BOOL netconn_resolve( WCHAR *, INTERNET_PORT, struct sockaddr *, socklen_t * );
|
||||
|
|
Loading…
Reference in New Issue