[client,scard] fix missing callback instance arg

every callback requires context, add freerdp* instance just as the
Authenticate et al callbacks already have
This commit is contained in:
Armin Novak 2023-02-14 21:00:27 +01:00 committed by Martin Fleisz
parent 5d97a03bf4
commit 25023d3a3a
4 changed files with 7 additions and 7 deletions

View File

@ -530,8 +530,8 @@ BOOL client_cli_authenticate_ex(freerdp* instance, char** username, char** passw
return client_cli_authenticate_raw(instance, reason, username, password, domain);
}
BOOL client_cli_choose_smartcard(SmartcardCertInfo** cert_list, DWORD count, DWORD* choice,
BOOL gateway)
BOOL client_cli_choose_smartcard(freerdp* instance, SmartcardCertInfo** cert_list, DWORD count,
DWORD* choice, BOOL gateway)
{
unsigned long answer;
char* p = NULL;

View File

@ -150,8 +150,8 @@ extern "C"
FREERDP_API BOOL client_cli_authenticate_ex(freerdp* instance, char** username, char** password,
char** domain, rdp_auth_reason reason);
FREERDP_API BOOL client_cli_choose_smartcard(SmartcardCertInfo** cert_list, DWORD count,
DWORD* choice, BOOL gateway);
FREERDP_API BOOL client_cli_choose_smartcard(freerdp* instance, SmartcardCertInfo** cert_list,
DWORD count, DWORD* choice, BOOL gateway);
FREERDP_API int client_cli_logon_error_info(freerdp* instance, UINT32 data, UINT32 type);

View File

@ -136,8 +136,8 @@ extern "C"
char** domain);
typedef BOOL (*pAuthenticateEx)(freerdp* instance, char** username, char** password,
char** domain, rdp_auth_reason reason);
typedef BOOL (*pChooseSmartcard)(SmartcardCertInfo** cert_list, DWORD count, DWORD* choice,
BOOL gateway);
typedef BOOL (*pChooseSmartcard)(freerdp* instance, SmartcardCertInfo** cert_list, DWORD count,
DWORD* choice, BOOL gateway);
/** @brief Callback used if user interaction is required to accept
* an unknown certificate.

View File

@ -724,7 +724,7 @@ BOOL smartcard_getCert(const rdpContext* context, SmartcardCertInfo** cert, BOOL
DWORD index;
if (!instance->ChooseSmartcard ||
!instance->ChooseSmartcard(cert_list, count, &index, gateway))
!instance->ChooseSmartcard(context->instance, cert_list, count, &index, gateway))
{
WLog_ERR(TAG, "more than one suitable smartcard certificate was found");
smartcardCertList_Free(cert_list, count);