Merge pull request #156 from derfian/smart-card-logging
Don't log common Smart Card error codes as rdesktop errors
This commit is contained in:
commit
db8b56db44
73
scard.c
73
scard.c
@ -4,6 +4,7 @@
|
|||||||
Copyright (C) Alexi Volkov <alexi@myrealbox.com> 2006
|
Copyright (C) Alexi Volkov <alexi@myrealbox.com> 2006
|
||||||
Copyright 2010-2013 Pierre Ossman <ossman@cendio.se> for Cendio AB
|
Copyright 2010-2013 Pierre Ossman <ossman@cendio.se> for Cendio AB
|
||||||
Copyright 2011-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB
|
Copyright 2011-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB
|
||||||
|
Copyright 2017 Karl Mikaelsson <derfian@cendio.se> for Cendio AB
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -925,39 +926,45 @@ TS_SCardConnect(STREAM in, STREAM out, RD_BOOL wide)
|
|||||||
hCard = _scard_handle_list_get_server_handle(myHCard);
|
hCard = _scard_handle_list_get_server_handle(myHCard);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
switch (rv)
|
||||||
{
|
{
|
||||||
logger(SmartCard, Error, "TS_SCardConnect(), failed: %s (0x%08x)",
|
case SCARD_S_SUCCESS:
|
||||||
pcsc_stringify_error(rv), (unsigned int) rv);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char *szVendor = getVendor(szReader);
|
|
||||||
logger(SmartCard, Debug, "TS_SCardConnect(), success, hcard: 0x%08x [0x%lx]",
|
|
||||||
(unsigned) hCard, myHCard);
|
|
||||||
|
|
||||||
if (szVendor && (strlen(szVendor) > 0))
|
|
||||||
{
|
|
||||||
logger(SmartCard, Debug,
|
|
||||||
"TS_SCardConnect(), set attribute ATTR_VENDOR_NAME");
|
|
||||||
pthread_mutex_lock(&hcardAccess);
|
|
||||||
PSCHCardRec hcard = xmalloc(sizeof(TSCHCardRec));
|
|
||||||
if (hcard)
|
|
||||||
{
|
{
|
||||||
hcard->hCard = hCard;
|
char *szVendor = getVendor(szReader);
|
||||||
hcard->vendor = szVendor;
|
logger(SmartCard, Debug,
|
||||||
hcard->next = NULL;
|
"TS_SCardConnect(), success, hcard: 0x%08x [0x%lx]",
|
||||||
hcard->prev = NULL;
|
(unsigned) hCard, myHCard);
|
||||||
|
|
||||||
if (hcardFirst)
|
if (szVendor && (strlen(szVendor) > 0))
|
||||||
{
|
{
|
||||||
hcardFirst->prev = hcard;
|
logger(SmartCard, Debug,
|
||||||
hcard->next = hcardFirst;
|
"TS_SCardConnect(), set attribute ATTR_VENDOR_NAME");
|
||||||
|
pthread_mutex_lock(&hcardAccess);
|
||||||
|
PSCHCardRec hcard = xmalloc(sizeof(TSCHCardRec));
|
||||||
|
if (hcard)
|
||||||
|
{
|
||||||
|
hcard->hCard = hCard;
|
||||||
|
hcard->vendor = szVendor;
|
||||||
|
hcard->next = NULL;
|
||||||
|
hcard->prev = NULL;
|
||||||
|
|
||||||
|
if (hcardFirst)
|
||||||
|
{
|
||||||
|
hcardFirst->prev = hcard;
|
||||||
|
hcard->next = hcardFirst;
|
||||||
|
}
|
||||||
|
hcardFirst = hcard;
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock(&hcardAccess);
|
||||||
}
|
}
|
||||||
hcardFirst = hcard;
|
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&hcardAccess);
|
break;
|
||||||
}
|
|
||||||
|
default:
|
||||||
|
logger(SmartCard, Debug,
|
||||||
|
"TS_SCardConnect(), SCardConnect failed: %s (0x%08x)",
|
||||||
|
pcsc_stringify_error(rv), rv);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
out_uint32_le(out, 0x00000000);
|
out_uint32_le(out, 0x00000000);
|
||||||
@ -1237,15 +1244,9 @@ TS_SCardGetStatusChange(STREAM in, STREAM out, RD_BOOL wide)
|
|||||||
myRsArray, (MYPCSC_DWORD) dwCount);
|
myRsArray, (MYPCSC_DWORD) dwCount);
|
||||||
copyReaderState_MyPCSCToServer(myRsArray, rsArray, (MYPCSC_DWORD) dwCount);
|
copyReaderState_MyPCSCToServer(myRsArray, rsArray, (MYPCSC_DWORD) dwCount);
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
logger(SmartCard, Debug,
|
||||||
{
|
"TS_SCardGetStatusChange(), SCardGetStatusChange returned \"%s\" (0x%08x)",
|
||||||
logger(SmartCard, Error, "TS_SCardGetStatusChange(), failed: %s (0x%08x)",
|
pcsc_stringify_error(rv), rv);
|
||||||
pcsc_stringify_error(rv), (unsigned int) rv);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
logger(SmartCard, Debug, "TS_SCardGetStatusChange(), success");
|
|
||||||
}
|
|
||||||
|
|
||||||
out_uint32_le(out, dwCount);
|
out_uint32_le(out, dwCount);
|
||||||
out_uint32_le(out, 0x00084dd8);
|
out_uint32_le(out, 0x00084dd8);
|
||||||
|
Loading…
Reference in New Issue
Block a user