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:
Henrik Andersson 2017-10-05 10:55:30 +02:00 committed by GitHub
commit db8b56db44

31
scard.c
View File

@ -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,15 +926,13 @@ 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); char *szVendor = getVendor(szReader);
logger(SmartCard, Debug, "TS_SCardConnect(), success, hcard: 0x%08x [0x%lx]", logger(SmartCard, Debug,
"TS_SCardConnect(), success, hcard: 0x%08x [0x%lx]",
(unsigned) hCard, myHCard); (unsigned) hCard, myHCard);
if (szVendor && (strlen(szVendor) > 0)) if (szVendor && (strlen(szVendor) > 0))
@ -959,6 +958,14 @@ TS_SCardConnect(STREAM in, STREAM out, RD_BOOL wide)
pthread_mutex_unlock(&hcardAccess); 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);
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);