From: Jennings,
Jared L C. U. A. 46 SK/C. <jar...@eg...> - 2009-09-21 14:35:14
Attachments:
rdesktop-1.5.001cvs20080324-pcsc-lite-1.4.100.patch
|
(Sorry for the extra copy, Ludovic: I meant to send this to the mailing list.) Ludovic Rousseau: > Pierre Ossman: > > (and the different versions of pcsclite would have to > > count as several implementations as they keep changing how the handle > > is generated). Quite. After I wrote that translation function, pcsc-lite changed (revision 2635, release 1.4.100) and I had to add a check in the autoconf script for the version of pcsc-lite, acting accordingly. I wrote that patch on March 25, 2008, and I thought I sent it to this mailing list. I'll attach it again, and it might apply: I haven't seen many changes to scard.c. I'll get the latest svn and send another patch if needed. > The way the handle are generated is not important as long as they can > be stored in a 32-bit integer. And I think that is the case for > pcsc-lite since a long time now. > Can you point me a version of pcsc-lite that does not store a handle > in a 32-bit integer? I think Red Hat is still shipping pcsc-lite 1.4.4 in Red Hat Enterprise Linux 5, and I have no idea what Apple's up to. |
From: Ludovic R. <lud...@gm...> - 2009-09-21 15:07:42
|
2009/9/21 Jennings, Jared L CTR USAF AFMC 46 SK/CCI <jar...@eg...>: > Ludovic Rousseau: >> Pierre Ossman: >> > (and the different versions of pcsclite would have to >> > count as several implementations as they keep changing how the > handle >> > is generated). > > Quite. After I wrote that translation function, pcsc-lite changed > (revision 2635, release 1.4.100) and I had to add a check in the > autoconf script for the version of pcsc-lite, acting accordingly. I > wrote that patch on March 25, 2008, and I thought I sent it to this > mailing list. I'll attach it again, and it might apply: I haven't seen > many changes to scard.c. I'll get the latest svn and send another patch > if needed. OK. I see now. >> The way the handle are generated is not important as long as they can >> be stored in a 32-bit integer. And I think that is the case for >> pcsc-lite since a long time now. > >> Can you point me a version of pcsc-lite that does not store a handle >> in a 32-bit integer? > > I think Red Hat is still shipping pcsc-lite 1.4.4 in Red Hat Enterprise > Linux 5, and I have no idea what Apple's up to. Apple version of pcsc-lite is available at [1]. From the readerfactory.c file [2] we have: ctxSlot->dwIdentity = (slotNumber + 1) << (sizeof(DWORD) / 2) * 8; Is it similar to pcsc-lite < 1.4.100 but we also have: typedef uint32_t DWORD; So DWORD has the same size on 32 and 64-bits Mac OS X (unlike what we on Linux). Maybe you should change your patch to check for definition of PCSCLITE_1_4_4_OR_BEFORE. The idea is that if PCSCLITE_1_4_4_OR_BEFORE is not defined (by default) then the rdesktop code does not do any conversion. Something like: #ifdef PCSCLITE_1_4_4_OR_BEFORE return (((MYPCSC_SCARDHANDLE) server >> (sizeof(SERVER_DWORD) * 8 / 2) & 0xffff) << (sizeof(MYPCSC_DWORD) * 8 / 2)) + (server & 0xffff); #else return (MYPCSC_SCARDHANDLE) server; #endif Regards, [1] http://www.opensource.apple.com/source/SmartCardServices/SmartCardServices-36160/ [2] http://www.opensource.apple.com/source/SmartCardServices/SmartCardServices-36160/src/PCSC/readerfactory.c -- Dr. Ludovic Rousseau |
From: Ludovic R. <lud...@gm...> - 2009-09-22 18:54:43
|
I filed bug #2864500 with my version of the patch as described bellow. Please apply. Regards 2009/9/21 Ludovic Rousseau <lud...@gm...>: > 2009/9/21 Jennings, Jared L CTR USAF AFMC 46 SK/CCI > <jar...@eg...>: >> Ludovic Rousseau: >>> Pierre Ossman: >>> > (and the different versions of pcsclite would have to >>> > count as several implementations as they keep changing how the >> handle >>> > is generated). >> >> Quite. After I wrote that translation function, pcsc-lite changed >> (revision 2635, release 1.4.100) and I had to add a check in the >> autoconf script for the version of pcsc-lite, acting accordingly. I >> wrote that patch on March 25, 2008, and I thought I sent it to this >> mailing list. I'll attach it again, and it might apply: I haven't seen >> many changes to scard.c. I'll get the latest svn and send another patch >> if needed. > > OK. I see now. > >>> The way the handle are generated is not important as long as they can >>> be stored in a 32-bit integer. And I think that is the case for >>> pcsc-lite since a long time now. >> >>> Can you point me a version of pcsc-lite that does not store a handle >>> in a 32-bit integer? >> >> I think Red Hat is still shipping pcsc-lite 1.4.4 in Red Hat Enterprise >> Linux 5, and I have no idea what Apple's up to. > > Apple version of pcsc-lite is available at [1]. From the > readerfactory.c file [2] we have: > ctxSlot->dwIdentity = (slotNumber + 1) << (sizeof(DWORD) / 2) * 8; > Is it similar to pcsc-lite < 1.4.100 but we also have: > typedef uint32_t DWORD; > So DWORD has the same size on 32 and 64-bits Mac OS X (unlike what we on Linux). > > Maybe you should change your patch to check for definition of > PCSCLITE_1_4_4_OR_BEFORE. The idea is that if PCSCLITE_1_4_4_OR_BEFORE > is not defined (by default) then the rdesktop code does not do any > conversion. > > Something like: > #ifdef PCSCLITE_1_4_4_OR_BEFORE > return (((MYPCSC_SCARDHANDLE) server >> (sizeof(SERVER_DWORD) * 8 / > 2) & 0xffff) > << (sizeof(MYPCSC_DWORD) * 8 / 2)) + (server & 0xffff); > #else > return (MYPCSC_SCARDHANDLE) server; > #endif > > Regards, > > [1] http://www.opensource.apple.com/source/SmartCardServices/SmartCardServices-36160/ > [2] http://www.opensource.apple.com/source/SmartCardServices/SmartCardServices-36160/src/PCSC/readerfactory.c > > -- > Dr. Ludovic Rousseau > -- Dr. Ludovic Rousseau |
From: Jennings,
Jared L C. U. A. 46 SK/C. <jar...@eg...> - 2009-09-28 17:12:32
|
Doh, sorry, this was meant for the list. Stupid Outlook. > -----Original Message----- > From: Jennings, Jared L CTR USAF AFMC 46 SK/CCI > Sent: Monday, September 28, 2009 12:11 PM > To: 'Ludovic Rousseau' > Subject: RE: [rdesktop-devel] FW: problem with rdesktop PC/SC > handleconversion > > > > Maybe you should change your patch to check for definition of > > > PCSCLITE_1_4_4_OR_BEFORE. The idea is that if PCSCLITE_1_4_4_OR_BEFORE > > > is not defined (by default) then the rdesktop code does not do any > > > conversion. > > Yes, this is better than my implementation. > > Thanks for your work on this, Ludovic. > |