1
0
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:
Martin Prikryl
2023-08-18 06:57:27 +00:00
parent 9ffd61b6df
commit b1c505cadb
2 changed files with 13 additions and 13 deletions

View File

@@ -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);

View File

@@ -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);