From: <os...@us...> - 2013-07-05 14:32:47
|
Revision: 1724 http://sourceforge.net/p/rdesktop/code/1724 Author: ossman_ Date: 2013-07-05 14:32:43 +0000 (Fri, 05 Jul 2013) Log Message: ----------- Don't screw up the attribute ID for SCardGetAttr(). It worked by pure luck in some cases, and failed in the rest. Modified Paths: -------------- rdesktop/trunk/scard.c Modified: rdesktop/trunk/scard.c =================================================================== --- rdesktop/trunk/scard.c 2013-07-05 11:44:03 UTC (rev 1723) +++ rdesktop/trunk/scard.c 2013-07-05 14:32:43 UTC (rev 1724) @@ -1962,7 +1962,6 @@ in->p += 0x0C; in_uint32_le(in, hCard); myHCard = _scard_handle_list_get_pcsc_handle(hCard); - dwAttrId = dwAttrId & 0x0000FFFF; DEBUG_SCARD(("SCARD: SCardGetAttrib(hcard: 0x%08x [0x%08lx], attrib: 0x%08x (%d bytes))\n", (unsigned) hCard, (unsigned long) myHCard, @@ -1990,7 +1989,7 @@ rv = SCardGetAttrib(myHCard, (MYPCSC_DWORD) dwAttrId, pbAttr, &attrLen); dwAttrLen = attrLen; - if (dwAttrId == 0x00000100 && rv != SCARD_S_SUCCESS) + if (dwAttrId == SCARD_ATTR_VENDOR_NAME && rv != SCARD_S_SUCCESS) { DEBUG_SCARD(("SCARD: Faking attribute ATTR_VENDOR_NAME\n")); pthread_mutex_lock(&hcardAccess); @@ -2059,8 +2058,6 @@ in_uint32_le(in, hCard); myHCard = scHandleToMyPCSC(hCard); - dwAttrId = dwAttrId & 0x0000FFFF; - DEBUG_SCARD(("SCARD: SCardSetAttrib(hcard: 0x%08x [0x%08lx], attrib: 0x%08x (%d bytes))\n", (unsigned) hCard, (unsigned long) myHCard, (unsigned) dwAttrId, (int) dwAttrLen)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |