mirror of
https://github.com/winscp/winscp.git
synced 2026-10-24 02:28:55 +03:00
Custom certificate store stopped working for S3
Caused by 9ffd61b6
Source commit: d77e91b0ce88205b0a075ea04c52ec88217a4e56
This commit is contained in:
@@ -249,17 +249,7 @@ void ne_init_ssl_session(struct ssl_st * Ssl, ne_session * Session)
|
||||
|
||||
} // extern "C"
|
||||
//---------------------------------------------------------------------------
|
||||
void SetNeonTlsInit(ne_session * Session, TNeonTlsInit OnNeonTlsInit)
|
||||
{
|
||||
// As the OnNeonTlsInit always only calls SetupSsl, we can simplify this with one shared implementation
|
||||
TMethod & Method = *(TMethod*)&OnNeonTlsInit;
|
||||
ne_set_session_private(Session, SESSION_TLS_INIT_KEY, Method.Code);
|
||||
ne_set_session_private(Session, SESSION_TLS_INIT_DATA_KEY, Method.Data);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void InitNeonTls(
|
||||
ne_session * Session, TNeonTlsInit OnNeonTlsInit, ne_ssl_verify_fn VerifyCallback, void * VerifyContext,
|
||||
TTerminal * Terminal)
|
||||
void SetNeonTlsInit(ne_session * Session, TNeonTlsInit OnNeonTlsInit, TTerminal * Terminal)
|
||||
{
|
||||
UnicodeString CertificateStorage = Configuration->CertificateStorageExpanded;
|
||||
if (!CertificateStorage.IsEmpty())
|
||||
@@ -271,7 +261,17 @@ void InitNeonTls(
|
||||
}
|
||||
}
|
||||
|
||||
SetNeonTlsInit(Session, OnNeonTlsInit);
|
||||
// As the OnNeonTlsInit always only calls SetupSsl, we can simplify this with one shared implementation
|
||||
TMethod & Method = *(TMethod*)&OnNeonTlsInit;
|
||||
ne_set_session_private(Session, SESSION_TLS_INIT_KEY, Method.Code);
|
||||
ne_set_session_private(Session, SESSION_TLS_INIT_DATA_KEY, Method.Data);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void InitNeonTls(
|
||||
ne_session * Session, TNeonTlsInit OnNeonTlsInit, ne_ssl_verify_fn VerifyCallback, void * VerifyContext,
|
||||
TTerminal * Terminal)
|
||||
{
|
||||
SetNeonTlsInit(Session, OnNeonTlsInit, Terminal);
|
||||
|
||||
ne_ssl_set_verify(Session, VerifyCallback, VerifyContext);
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ void CheckNeonStatus(ne_session * Session, int NeonStatus,
|
||||
UnicodeString GetNeonRedirectUrl(ne_session * Session);
|
||||
void CheckRedirectLoop(const UnicodeString & RedirectUrl, TStrings * AttemptedUrls);
|
||||
typedef void (__closure* TNeonTlsInit)(struct ssl_st * Ssl, ne_session * Session);
|
||||
void SetNeonTlsInit(ne_session * Session, TNeonTlsInit OnNeonTlsInit);
|
||||
void SetNeonTlsInit(ne_session * Session, TNeonTlsInit OnNeonTlsInit, TTerminal * Terminal);
|
||||
void InitNeonTls(
|
||||
ne_session * Session, TNeonTlsInit OnNeonTlsInit, ne_ssl_verify_fn VerifyCallback, void * VerifyContext,
|
||||
TTerminal * Terminal);
|
||||
|
||||
Reference in New Issue
Block a user