Control codes to SCardControl() are platform dependent so we need to do

some translation before passing them on.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1595 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Pierre Ossman 2010-06-14 07:35:55 +00:00
parent 4635dfc148
commit 1ac2cd144e

View File

@ -2037,6 +2037,14 @@ TS_SCardControl(STREAM in, STREAM out)
in_uint8a(in, pInBuffer, nInBufferSize); in_uint8a(in, pInBuffer, nInBufferSize);
} }
/* Is this a proper Windows smart card ioctl? */
if ((dwControlCode & 0xffff0000) != (49 << 16))
return SCARD_E_INVALID_PARAMETER;
/* Translate to local encoding */
dwControlCode = (dwControlCode & 0x3ffc) >> 2;
dwControlCode = SCARD_CTL_CODE(dwControlCode);
#if 0 #if 0
if (nOutBufferSize > 0) if (nOutBufferSize > 0)
{ {