You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(10) |
Feb
(10) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(17) |
Sep
(9) |
Oct
(10) |
Nov
(2) |
Dec
(5) |
2009 |
Jan
(17) |
Feb
(8) |
Mar
(10) |
Apr
(1) |
May
|
Jun
(11) |
Jul
(18) |
Aug
|
Sep
|
Oct
(10) |
Nov
(40) |
Dec
(4) |
2010 |
Jan
(2) |
Feb
(5) |
Mar
(13) |
Apr
(14) |
May
(27) |
Jun
(86) |
Jul
(1) |
Aug
(12) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(5) |
2011 |
Jan
|
Feb
(2) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
(11) |
Aug
(1) |
Sep
(3) |
Oct
(65) |
Nov
|
Dec
(1) |
2012 |
Jan
(1) |
Feb
(4) |
Mar
(6) |
Apr
(6) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
(12) |
Oct
(3) |
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
(1) |
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(1) |
Nov
(24) |
Dec
(10) |
2015 |
Jan
(1) |
Feb
(10) |
Mar
|
Apr
|
May
(1) |
Jun
(15) |
Jul
(4) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: SourceForge.net <no...@so...> - 2011-10-24 18:49:27
|
Bugs item #3427826, was opened at 2011-10-24 15:39 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3427826&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Philippe BOURGAULT (pbourgault) Assigned to: jean-daniel aussel (jdaussel) Summary: SCardControl issue with python 2.7 Initial Comment: Hello, I am using pyscard 2.6.12 and python 2.7.2 and I have a issue with ScardControl. When calling SCardControl to send proprietary command to reader, the ScardControl returns 0x0000001F error code. Only SCardControl calls sending data to reader, are having this behavior. SCardControl, used for getting attributes for example, still runs fine. Please find attached a sample code. This code works fine using python 2.5 and 2.6 but fails on python 2.7. Unfortunately, as these commands are proprietary to our CL1356A+ reader , you will not been able to run this code. If you cannot adapt this code on another reader, I can eventually lend you a CL1356A+ reader for debugging purposes. Thanks, regards, Philippe BOURGAULT ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-24 20:49 Message: Hello Philippe, I guess you are using Windows. Exact? Do you have the problem with all the SCardControl() or just some of them? Do you have the same problem under GNU/Linux or Mac OS X? I am using Python 2.7.1 on Mac OS X Lion and do not have a problem with SCardControl(). So maybe the problem is Windows specific. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3427826&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-24 13:39:33
|
Bugs item #3427826, was opened at 2011-10-24 13:39 Message generated for change (Tracker Item Submitted) made by pbourgault You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3427826&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Philippe BOURGAULT (pbourgault) Assigned to: jean-daniel aussel (jdaussel) Summary: SCardControl issue with python 2.7 Initial Comment: Hello, I am using pyscard 2.6.12 and python 2.7.2 and I have a issue with ScardControl. When calling SCardControl to send proprietary command to reader, the ScardControl returns 0x0000001F error code. Only SCardControl calls sending data to reader, are having this behavior. SCardControl, used for getting attributes for example, still runs fine. Please find attached a sample code. This code works fine using python 2.5 and 2.6 but fails on python 2.7. Unfortunately, as these commands are proprietary to our CL1356A+ reader , you will not been able to run this code. If you cannot adapt this code on another reader, I can eventually lend you a CL1356A+ reader for debugging purposes. Thanks, regards, Philippe BOURGAULT ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3427826&group_id=196342 |
From: <jda...@us...> - 2011-10-23 14:25:41
|
Revision: 583 http://pyscard.svn.sourceforge.net/pyscard/?rev=583&view=rev Author: jdaussel Date: 2011-10-23 14:25:35 +0000 (Sun, 23 Oct 2011) Log Message: ----------- Fixed readergroups() that failed to return list of reader groups Modified Paths: -------------- trunk/pyscard/src/smartcard/System.py trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py trunk/pyscard/src/smartcard/reader/ReaderGroups.py Modified: trunk/pyscard/src/smartcard/System.py =================================================================== --- trunk/pyscard/src/smartcard/System.py 2011-10-22 18:21:25 UTC (rev 582) +++ trunk/pyscard/src/smartcard/System.py 2011-10-23 14:25:35 UTC (rev 583) @@ -44,7 +44,7 @@ def readergroups(): """Returns the list of reader groups.""" - return smartcard.pcsc.PCSCReaderGroups.PCSCReaderGroups() + return smartcard.pcsc.PCSCReaderGroups.PCSCReaderGroups().instance # for legacy only Modified: trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py 2011-10-22 18:21:25 UTC (rev 582) +++ trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py 2011-10-23 14:25:35 UTC (rev 583) @@ -40,11 +40,7 @@ self.unremovablegroups = ['SCard$DefaultReaders'] def getreadergroups(self): - """ Returns the list of smartcard reader groups. - - import smartcard - print smartcard.reader_groups() - """ + """ Returns the list of smartcard reader groups.""" innerreadergroups.getreadergroups(self) hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) @@ -61,8 +57,6 @@ def addreadergroup(self, newgroup): """Add a reader group""" - innerreadergroups.addreadergroup(self, newgroup) - hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if 0 != hresult: raise error( @@ -74,6 +68,9 @@ raise error( 'Unable to introduce reader group: ' + \ SCardGetErrorMessage(hresult)) + else: + innerreadergroups.addreadergroup(self, newgroup) + finally: hresult = SCardReleaseContext(hcontext) if 0 != hresult: @@ -84,8 +81,6 @@ def removereadergroup(self, group): """Remove a reader group""" - innerreadergroups.removereadergroup(self, group) - hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if 0 != hresult: raise error( @@ -97,6 +92,9 @@ raise error( 'Unable to forget reader group: ' + \ SCardGetErrorMessage(hresult)) + else: + innerreadergroups.removereadergroup(self, group) + finally: hresult = SCardReleaseContext(hcontext) if 0 != hresult: @@ -108,20 +106,10 @@ class PCSCReaderGroups(readergroups): """PCSC readers groups.""" - """The single instance of __readergroups""" - instance = None - - """Constructor: create a single instance of __readergroups on first call""" - def __init__(self, initlist=None): - if None == PCSCReaderGroups.instance: - PCSCReaderGroups.instance = pcscinnerreadergroups(initlist) + """Create a single instance of pcscinnerreadergroups on first call""" + self.innerclazz = pcscinnerreadergroups + readergroups.__init__(self, initlist) - """All operators redirected to inner class.""" - - def __getattr__(self, name): - return getattr(self.instance, name) - - if __name__ == '__main__': print PCSCReaderGroups() Modified: trunk/pyscard/src/smartcard/reader/ReaderGroups.py =================================================================== --- trunk/pyscard/src/smartcard/reader/ReaderGroups.py 2011-10-22 18:21:25 UTC (rev 582) +++ trunk/pyscard/src/smartcard/reader/ReaderGroups.py 2011-10-23 14:25:35 UTC (rev 583) @@ -64,6 +64,12 @@ """Called when a reader group is added.""" self.removereadergroup(item) + def __iter__(self): + return ulist.__iter__(self) + + def next(self): + return ulist.__next__(self) + # # abstract methods implemented in subclasses # @@ -76,11 +82,13 @@ """Add a reader group""" if not isinstance(newgroup, type("")): raise BadReaderGroupException + self += newgroup def removereadergroup(self, group): """Remove a reader group""" if not isinstance(group, type("")): raise BadReaderGroupException + self.remove(group) def addreadertogroup(self, readername, groupname): """Add a reader to a reader group""" @@ -96,12 +104,12 @@ """The single instance of __readergroups""" instance = None + innerclazz = innerreadergroups - """Constructor: create a single instance of __readergroups on first call""" - def __init__(self, initlist=None): + """Create a single instance of innerreadergroups on first call""" if None == readergroups.instance: - readergroups.instance = innerreadergroups(initlist) + readergroups.instance = self.innerclazz(initlist) """All operators redirected to inner class.""" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2011-10-22 18:21:31
|
Revision: 582 http://pyscard.svn.sourceforge.net/pyscard/?rev=582&view=rev Author: ludov Date: 2011-10-22 18:21:25 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Update MAX_BUFFER_SIZE_EXTENDED For PCSCLITE add 2 bytes for SW For Windows add 10 bytes for header, Lc and Le Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/scard.i Modified: trunk/pyscard/src/smartcard/scard/scard.i =================================================================== --- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:35:00 UTC (rev 581) +++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 18:21:25 UTC (rev 582) @@ -185,12 +185,12 @@ #endif // undefined on older releases #ifndef MAX_BUFFER_SIZE_EXTENDED - #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3) + #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2) #endif #else // !PCSCLITE // SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h // MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific -#define MAX_BUFFER_SIZE_EXTENDED (1<<16)+2 +#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2) #endif //PCSCLITE #include "pcsctypes.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-22 17:35:06
|
Revision: 581 http://pyscard.svn.sourceforge.net/pyscard/?rev=581&view=rev Author: jdaussel Date: 2011-10-22 17:35:00 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Reverted to MAX_BUFFER_SIZE_EXTENDED Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/scard.i Modified: trunk/pyscard/src/smartcard/scard/scard.i =================================================================== --- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:22:52 UTC (rev 580) +++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:35:00 UTC (rev 581) @@ -430,8 +430,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; lRet = (mySCardControl)( hcard, @@ -452,8 +452,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; lRet = (mySCardControl)( hcard, @@ -758,8 +758,8 @@ PSCARD_IO_REQUEST piorequest=NULL; long ret; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; // keep in sync with redefinition in PcscDefs.i switch(pioSendPci) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-22 17:22:59
|
Revision: 580 http://pyscard.svn.sourceforge.net/pyscard/?rev=580&view=rev Author: jdaussel Date: 2011-10-22 17:22:52 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Fixed extended APDU issue where receive buffer should be 65536 plus 2 bytes for status words Modified Paths: -------------- trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/scard/scard.i Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 15:13:53 UTC (rev 579) +++ trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 17:22:52 UTC (rev 580) @@ -1,7 +1,9 @@ 1.6.14 (October 2011) =================== * added support for windows 64bit amd64 (Jean-Daniel Aussel) - * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn suggestion) + * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn feature request ID 3110077) + * fixed Reader.__eq__() (Ludovic Rousseau from Bernard Paulus bug ID 3418113) + * fixed extended APDU transmit buffer too short by 2 (Jean-Daniel Aussel from bugs ID 2914636 and 3106761) 1.6.12 (August 2010) Modified: trunk/pyscard/src/smartcard/scard/scard.i =================================================================== --- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 15:13:53 UTC (rev 579) +++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:22:52 UTC (rev 580) @@ -190,7 +190,7 @@ #else // !PCSCLITE // SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h // MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific -#define MAX_BUFFER_SIZE_EXTENDED (1<<16) +#define MAX_BUFFER_SIZE_EXTENDED (1<<16)+2 #endif //PCSCLITE #include "pcsctypes.h" @@ -430,8 +430,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; lRet = (mySCardControl)( hcard, @@ -452,8 +452,8 @@ { SCARDRETCODE lRet; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; lRet = (mySCardControl)( hcard, @@ -758,8 +758,8 @@ PSCARD_IO_REQUEST piorequest=NULL; long ret; - pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char)); - pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED; + pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char)); + pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2; // keep in sync with redefinition in PcscDefs.i switch(pioSendPci) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2011-10-22 17:02:43
|
Bugs item #3159458, was opened at 2011-01-16 23:48 Message generated for change (Settings changed) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3159458&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Mike Auty (ikelos) Assigned to: jean-daniel aussel (jdaussel) Summary: API for pcsc-lite has changed (no SCardCancelTransaction) Initial Comment: Hi there, I'm currently using pcsc-lite-1.6.6, but my existing programs that make use of pyscard do not appear to work normally, even though compilation of pyscard doesn't appear to have any error messages. When running a program it returns the following error message: Failed to load symbol for: SCardCancelTransaction, /usr/lib/libpcsclite.so.1: undefined symbol: SCardCancelTransaction! Please let me know if there's any further information I can provide to help get this bug solved... ---------------------------------------------------------------------- Comment By: Mike Auty (ikelos) Date: 2011-01-17 01:31 Message: Sorry for the spam, this appears to have been fixed in subversion. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3159458&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-22 17:01:31
|
Bugs item #3418113, was opened at 2011-10-04 01:35 Message generated for change (Comment added) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3418113&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: bernard paulus (bernardpaulus) Assigned to: Ludovic Rousseau (ludov) Summary: Trivial reader comparison Initial Comment: Hi! I'm trying to build a shell to interact with smartcards above pyscard, and I had some strange results: reader=smartcard.reader.Reader.Reader('Brian Died For You') print reader == 42 Returns 1, i.e. True! And it's quite a problem at the moment, because i'm using a string to represent a null reader, which also compares as equal with every reader. By reading the source code, I found a small typo here: http://pyscard.sourceforge.net/epydoc/smartcard.reader.Reader-pysrc.html#Reader.__eq__ the current code is: 51 def __eq__(self, other): 52 """Returns 0 if self==other (same name).""" 53 if type(other) == type(self): 54 return self.name == other.name 55 else: 56 return 1 # here is the typo it should be: 51 def __eq__(self, other): 52 """Returns 0 if self==other (same name).""" 53 if type(other) == type(self): 54 return self.name == other.name 55 else: 56 return 0 # or False Besides that, thanks for this librairy! It's a pleasure to code in python with it :) Regards, bernard ---------------------------------------------------------------------- >Comment By: jean-daniel aussel (jdaussel) Date: 2011-10-22 19:01 Message: Fixed in revision 574, will be included as of release 1.6.14 (due end of October 2011). ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 16:45 Message: Fixed in revision 574 http://pyscard.svn.sourceforge.net/viewvc/pyscard?view=revision&revision=574 Thanks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3418113&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-22 16:55:03
|
Bugs item #3083586, was opened at 2010-10-08 10:36 Message generated for change (Comment added) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Frank Morgner (frankmorgner) Assigned to: jean-daniel aussel (jdaussel) Summary: duplicated status bytes in resp Initial Comment: When receiving longer responses (tested with data+sw1+sw2=250 bytes), the status bytes are still in the data part of sendCommandAPDU() here example code: self.reader = smartcard.System.listReaders()[readernum] self.session = smartcard.Session(self.reader) rapdu, sw1, sw2 = self.session.sendCommandAPDU(apdu) here a response i received: SW: 81 01 FE E9 2B 04 04 41 04 A3 E8 EB 3C C1 CF E7 B7 73 22 13 B2 3A 65 61 49 AF A1 42 C4 7A AF BC 2B 79 A1 91 56 2E 13 05 F4 2D 99 6C 82 34 39 C5 6D 7F 7B 22 E1 46 44 41 7E 69 BC B6 DE 39 D0 27 00 1D AB E8 F3 5B 25 C9 BE 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 71 8C 39 7A A3 B5 61 A6 F7 90 1E 0E 82 97 48 56 A7 02 01 01 30 81 FE 06 09 04 00 7F 00 07 02 02 04 02 30 81 F0 06 0B 04 00 7F 00 07 01 01 05 02 02 02 30 81 E0 02 01 01 30 2C 06 07 2A 86 48 CE 3D 01 01 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 77 30 44 04 20 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 74 04 20 66 2C 61 C4 30 D8 4E A4 FE 66 A7 73 3D 0B 76 B7 BF 90 00 this results in rapdu, sw1, sw2: [129, 1, 254, 233, 43, 4, 4, 65, 4, 163, 232, 235, 60, 193, 207, 231, 183, 115, 34, 19, 178, 58, 101, 97, 73, 175, 161, 66, 196, 122, 175, 188, 43, 121, 161, 145, 86, 46, 19, 5, 244, 45, 153, 108, 130, 52, 57, 197, 109, 127, 123, 34, 225, 70, 68, 65, 126, 105, 188, 182, 222, 57, 208, 39, 0, 29, 171, 232, 243, 91, 37, 201, 190, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 113, 140, 57, 122, 163, 181, 97, 166, 247, 144, 30, 14, 130, 151, 72, 86, 167, 2, 1, 1, 48, 129, 254, 6, 9, 4, 0, 127, 0, 7, 2, 2, 4, 2, 48, 129, 240, 6, 11, 4, 0, 127, 0, 7, 1, 1, 5, 2, 2, 2, 48, 129, 224, 2, 1, 1, 48, 44, 6, 7, 42, 134, 72, 206, 61, 1, 1, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 119, 48, 68, 4, 32, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 116, 4, 32, 102, 44, 97, 196, 48, 216, 78, 164, 254, 102, 167, 115, 61, 11, 118, 183, 191, 144, 0] 144 0 as you can see, the last 144, 0 should be removed from the list of databytes ---------------------------------------------------------------------- >Comment By: jean-daniel aussel (jdaussel) Date: 2011-10-22 18:55 Message: this is the intended behavior; the status words are included in the response. If the response has more than two words (i.e. there is something else than the status words), sendCommandAPDU returns a tuple: (response,sw1,sw2), but response always contain the two status words at the end of the list. ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 20:50 Message: Fixing the "problem" is easy. Just remove the 3 lines of code: if len(response) > 2: response.append(sw1) response.append(sw2) ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 20:49 Message: The problem is not related to the response size. I have the same behavior even for short responses. According to the source code this is the intended behavior. Source code is: def sendCommandAPDU(self, command): """Send an APDU command to the connected smartcard. command: list of APDU bytes, e.g. [0xA0, 0xA4, 0x00, 0x00, 0x02] returns a tuple (response, sw1, sw2) where response is the APDU response sw1, sw2 are the two status words """ response, sw1, sw2 = self.cs.connection.transmit(command) if len(response) > 2: response.append(sw1) response.append(sw2) return response, sw1, sw2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-22 16:48:37
|
Bugs item #3388079, was opened at 2011-08-07 23:56 Message generated for change (Settings changed) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: https://www.google.com/accounts () Assigned to: jean-daniel aussel (jdaussel) Summary: Lion support? Initial Comment: The prebuilt Mac .pkg installer installs the extension to Python 2.6 on OS X Lion, despite the fact that 2.7 is the new default. Building from source doesn't work either ---------------------------------------------------------------------- Comment By: jean-daniel aussel (jdaussel) Date: 2011-10-22 18:47 Message: Closed in in revision 579 (see README on how to build binary distribution or install on Lion from the sources). Will be incorporated in release 1.6.14 planned end of October 2011. ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 16:36 Message: Lion is already supported in the development version in SVN. It will be supported in the next release. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-22 16:47:22
|
Bugs item #3388079, was opened at 2011-08-07 23:56 Message generated for change (Comment added) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: https://www.google.com/accounts () Assigned to: jean-daniel aussel (jdaussel) Summary: Lion support? Initial Comment: The prebuilt Mac .pkg installer installs the extension to Python 2.6 on OS X Lion, despite the fact that 2.7 is the new default. Building from source doesn't work either ---------------------------------------------------------------------- >Comment By: jean-daniel aussel (jdaussel) Date: 2011-10-22 18:47 Message: Closed in in revision 579 (see README on how to build binary distribution or install on Lion from the sources). Will be incorporated in release 1.6.14 planned end of October 2011. ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 16:36 Message: Lion is already supported in the development version in SVN. It will be supported in the next release. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 |
From: <jda...@us...> - 2011-10-22 15:14:00
|
Revision: 579 http://pyscard.svn.sourceforge.net/pyscard/?rev=579&view=rev Author: jdaussel Date: 2011-10-22 15:13:53 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Added instructions on building binary distribution on Lion Modified Paths: -------------- trunk/pyscard/src/README trunk/pyscard/src/smartcard/README Modified: trunk/pyscard/src/README =================================================================== --- trunk/pyscard/src/README 2011-10-22 15:00:27 UTC (rev 578) +++ trunk/pyscard/src/README 2011-10-22 15:13:53 UTC (rev 579) @@ -227,8 +227,9 @@ Installing on Mac OS X Lion from the source distribution -------------------------------------------------------- -1. you will need swig 1.3.31 or later (http://www.swig.org); gcc and pcsc-lite -are available out of the box on Max OS X Leopard +1. you will need swig 2.0.4 (http://www.swig.org) and Xcode +(http://developer.apple.com/xcode/); +pcsc-lite is available out of the box on Max OS X Leopard 2. download the source distribution @@ -340,6 +341,26 @@ This will build package pyscard-1.6.14-py-2.6-macosx10.4.mpkg. +Building a binary distribution for Mac OS X Lion +------------------------------------------------- + +To build a binary distribution from the source distribution, you will +need swig 2.0.4 and Xcode (same requirements as for installing from the source +distribution) and bdist_mpkg 0.4.4 (http://pypi.python.org/pypi/bdist_mpkg/). + +Install bdist_mpkg by executing the bdist_mpkg setup.py script with +build and install as arguments, i.e. from the root directory of the +bdist_mpkg source distribution enter: python setup.py build install. + +From the root directory of the pyscard source distribution, +i.e. in the src directory, execute the following commands in a terminal: + +python setup.py build_ext +bdist_mpkg setup.py + +This will build package pyscard-1.6.14-py-2.7-macosx10.7.mpkg in the dist +directory. + Building a binary distribution for Mac OS X Leopard --------------------------------------------------- Modified: trunk/pyscard/src/smartcard/README =================================================================== --- trunk/pyscard/src/smartcard/README 2011-10-22 15:00:27 UTC (rev 578) +++ trunk/pyscard/src/smartcard/README 2011-10-22 15:13:53 UTC (rev 579) @@ -227,8 +227,9 @@ Installing on Mac OS X Lion from the source distribution -------------------------------------------------------- -1. you will need swig 1.3.31 or later (http://www.swig.org); gcc and pcsc-lite -are available out of the box on Max OS X Leopard +1. you will need swig 2.0.4 (http://www.swig.org) and Xcode +(http://developer.apple.com/xcode/); +pcsc-lite is available out of the box on Max OS X Leopard 2. download the source distribution @@ -340,6 +341,26 @@ This will build package pyscard-1.6.14-py-2.6-macosx10.4.mpkg. +Building a binary distribution for Mac OS X Lion +------------------------------------------------- + +To build a binary distribution from the source distribution, you will +need swig 2.0.4 and Xcode (same requirements as for installing from the source +distribution) and bdist_mpkg 0.4.4 (http://pypi.python.org/pypi/bdist_mpkg/). + +Install bdist_mpkg by executing the bdist_mpkg setup.py script with +build and install as arguments, i.e. from the root directory of the +bdist_mpkg source distribution enter: python setup.py build install. + +From the root directory of the pyscard source distribution, +i.e. in the src directory, execute the following commands in a terminal: + +python setup.py build_ext +bdist_mpkg setup.py + +This will build package pyscard-1.6.14-py-2.7-macosx10.7.mpkg in the dist +directory. + Building a binary distribution for Mac OS X Leopard --------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-22 15:00:34
|
Revision: 578 http://pyscard.svn.sourceforge.net/pyscard/?rev=578&view=rev Author: jdaussel Date: 2011-10-22 15:00:27 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Separate handling of snow leopard and lion Modified Paths: -------------- trunk/pyscard/src/setup.py trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/scard/scard.i Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2011-10-22 13:58:56 UTC (rev 577) +++ trunk/pyscard/src/setup.py 2011-10-22 15:00:27 UTC (rev 578) @@ -74,15 +74,30 @@ platform_extra_link_args = ['-arch', 'i386', '-arch', 'ppc', '-ggdb'] # -# Mac OS X Snow Leopard, python 2.6 +# Mac OS X Lion, python 2.7 # PowerPC is no more supported, x86_64 is new # -# Mac OS X Lion, python 2.7 # x86_64 and i386 # -elif 'macosx-10.6' in get_platform() or 'macosx-10.7' in get_platform(): +elif 'macosx-10.7' in get_platform(): platform__cc_defines = [('PCSCLITE', '1'), ('__APPLE__', '1'), + ('__LION__', '1')] + platform_swig_opts = ['-DPCSCLITE', '-D__APPLE__', '-D__LION__'] + platform_sources = [] + platform_libraries = [] + platform_include_dirs = [] + platform_extra_compile_args = ['-v', '-arch', 'i386', + '-arch', 'x86_64', '-ggdb'] + platform_extra_link_args = ['-arch', 'i386', '-arch', 'x86_64', '-ggdb'] + +# +# Mac OS X Snow Leopard, python 2.6 +# PowerPC is no more supported, x86_64 is new +# +elif 'macosx-10.6' in get_platform(): + platform__cc_defines = [('PCSCLITE', '1'), + ('__APPLE__', '1'), ('__LEOPARD__', '1')] platform_swig_opts = ['-DPCSCLITE', '-D__APPLE__', '-D__LEOPARD__'] platform_sources = [] Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 13:58:56 UTC (rev 577) +++ trunk/pyscard/src/smartcard/ChangeLog 2011-10-22 15:00:27 UTC (rev 578) @@ -1,7 +1,9 @@ 1.6.14 (October 2011) =================== * added support for windows 64bit amd64 (Jean-Daniel Aussel) + * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn suggestion) + 1.6.12 (August 2010) =================== * comply with PEP 8 (Ludovic Rousseau) Modified: trunk/pyscard/src/smartcard/scard/scard.i =================================================================== --- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 13:58:56 UTC (rev 577) +++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 15:00:27 UTC (rev 578) @@ -2086,6 +2086,9 @@ #ifdef __LEOPARD__ %constant char* resourceManagerSubType = "pcsclite-leopard" ; #endif //__LEOPARD__ + #ifdef __LION__ + %constant char* resourceManagerSubType = "pcsclite-lion" ; + #endif //__LION_ #else // !__APPLE__ %constant char* resourceManagerSubType = "pcsclite-linux" ; #endif // __APPLE__ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-22 13:59:02
|
Revision: 577 http://pyscard.svn.sourceforge.net/pyscard/?rev=577&view=rev Author: jdaussel Date: 2011-10-22 13:58:56 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Added missing import Modified Paths: -------------- trunk/pyscard/src/smartcard/test/framework/testcase_CardRequest.py Modified: trunk/pyscard/src/smartcard/test/framework/testcase_CardRequest.py =================================================================== --- trunk/pyscard/src/smartcard/test/framework/testcase_CardRequest.py 2011-10-20 19:55:21 UTC (rev 576) +++ trunk/pyscard/src/smartcard/test/framework/testcase_CardRequest.py 2011-10-22 13:58:56 UTC (rev 577) @@ -38,7 +38,7 @@ try: from local_config import expectedATRs, expectedReaders - from local_config import expectedReaderGroups, expectedATRinReader + from local_config import expectedReaderGroups, expectedATRinReader, expectedReaderForATR except: print 'execute test suite first to generate the local_config.py file' sys.exit() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-20 19:55:28
|
Revision: 576 http://pyscard.svn.sourceforge.net/pyscard/?rev=576&view=rev Author: jdaussel Date: 2011-10-20 19:55:21 +0000 (Thu, 20 Oct 2011) Log Message: ----------- ClassLoader is under the PSF license Modified Paths: -------------- trunk/pyscard/src/smartcard/ClassLoader.py Modified: trunk/pyscard/src/smartcard/ClassLoader.py =================================================================== --- trunk/pyscard/src/smartcard/ClassLoader.py 2011-10-20 19:49:05 UTC (rev 575) +++ trunk/pyscard/src/smartcard/ClassLoader.py 2011-10-20 19:55:21 UTC (rev 576) @@ -5,6 +5,8 @@ Source: Robert Brewer at the Python Cookbook: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/223972 + +License: PSF license (http://docs.python.org/license.html). """ import sys This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2011-10-20 19:49:13
|
Revision: 575 http://pyscard.svn.sourceforge.net/pyscard/?rev=575&view=rev Author: jdaussel Date: 2011-10-20 19:49:05 +0000 (Thu, 20 Oct 2011) Log Message: ----------- Formatting Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py Modified: trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2011-10-19 14:44:03 UTC (rev 574) +++ trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2011-10-20 19:49:05 UTC (rev 575) @@ -119,8 +119,8 @@ appname='A simple card monitoring tool', apppanel=SamplePanel, appstyle=TR_SMARTCARD | TR_READER, - appicon=os.path.join(module_path(), 'images', 'mysmartcard.ico'), - size=(800, 600)) + appicon=os.path.join( + module_path(), 'images', 'mysmartcard.ico'), size=(800, 600)) app.MainLoop() if __name__ == "__main__": This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2011-10-19 18:50:22
|
Bugs item #3083586, was opened at 2010-10-08 10:36 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None Status: Open Resolution: Accepted Priority: 5 Private: No Submitted By: Frank Morgner (frankmorgner) Assigned to: jean-daniel aussel (jdaussel) Summary: duplicated status bytes in resp Initial Comment: When receiving longer responses (tested with data+sw1+sw2=250 bytes), the status bytes are still in the data part of sendCommandAPDU() here example code: self.reader = smartcard.System.listReaders()[readernum] self.session = smartcard.Session(self.reader) rapdu, sw1, sw2 = self.session.sendCommandAPDU(apdu) here a response i received: SW: 81 01 FE E9 2B 04 04 41 04 A3 E8 EB 3C C1 CF E7 B7 73 22 13 B2 3A 65 61 49 AF A1 42 C4 7A AF BC 2B 79 A1 91 56 2E 13 05 F4 2D 99 6C 82 34 39 C5 6D 7F 7B 22 E1 46 44 41 7E 69 BC B6 DE 39 D0 27 00 1D AB E8 F3 5B 25 C9 BE 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 71 8C 39 7A A3 B5 61 A6 F7 90 1E 0E 82 97 48 56 A7 02 01 01 30 81 FE 06 09 04 00 7F 00 07 02 02 04 02 30 81 F0 06 0B 04 00 7F 00 07 01 01 05 02 02 02 30 81 E0 02 01 01 30 2C 06 07 2A 86 48 CE 3D 01 01 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 77 30 44 04 20 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 74 04 20 66 2C 61 C4 30 D8 4E A4 FE 66 A7 73 3D 0B 76 B7 BF 90 00 this results in rapdu, sw1, sw2: [129, 1, 254, 233, 43, 4, 4, 65, 4, 163, 232, 235, 60, 193, 207, 231, 183, 115, 34, 19, 178, 58, 101, 97, 73, 175, 161, 66, 196, 122, 175, 188, 43, 121, 161, 145, 86, 46, 19, 5, 244, 45, 153, 108, 130, 52, 57, 197, 109, 127, 123, 34, 225, 70, 68, 65, 126, 105, 188, 182, 222, 57, 208, 39, 0, 29, 171, 232, 243, 91, 37, 201, 190, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 113, 140, 57, 122, 163, 181, 97, 166, 247, 144, 30, 14, 130, 151, 72, 86, 167, 2, 1, 1, 48, 129, 254, 6, 9, 4, 0, 127, 0, 7, 2, 2, 4, 2, 48, 129, 240, 6, 11, 4, 0, 127, 0, 7, 1, 1, 5, 2, 2, 2, 48, 129, 224, 2, 1, 1, 48, 44, 6, 7, 42, 134, 72, 206, 61, 1, 1, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 119, 48, 68, 4, 32, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 116, 4, 32, 102, 44, 97, 196, 48, 216, 78, 164, 254, 102, 167, 115, 61, 11, 118, 183, 191, 144, 0] 144 0 as you can see, the last 144, 0 should be removed from the list of databytes ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 20:50 Message: Fixing the "problem" is easy. Just remove the 3 lines of code: if len(response) > 2: response.append(sw1) response.append(sw2) ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 20:49 Message: The problem is not related to the response size. I have the same behavior even for short responses. According to the source code this is the intended behavior. Source code is: def sendCommandAPDU(self, command): """Send an APDU command to the connected smartcard. command: list of APDU bytes, e.g. [0xA0, 0xA4, 0x00, 0x00, 0x02] returns a tuple (response, sw1, sw2) where response is the APDU response sw1, sw2 are the two status words """ response, sw1, sw2 = self.cs.connection.transmit(command) if len(response) > 2: response.append(sw1) response.append(sw2) return response, sw1, sw2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-19 18:49:24
|
Bugs item #3083586, was opened at 2010-10-08 10:36 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None Status: Open Resolution: Accepted Priority: 5 Private: No Submitted By: Frank Morgner (frankmorgner) Assigned to: jean-daniel aussel (jdaussel) Summary: duplicated status bytes in resp Initial Comment: When receiving longer responses (tested with data+sw1+sw2=250 bytes), the status bytes are still in the data part of sendCommandAPDU() here example code: self.reader = smartcard.System.listReaders()[readernum] self.session = smartcard.Session(self.reader) rapdu, sw1, sw2 = self.session.sendCommandAPDU(apdu) here a response i received: SW: 81 01 FE E9 2B 04 04 41 04 A3 E8 EB 3C C1 CF E7 B7 73 22 13 B2 3A 65 61 49 AF A1 42 C4 7A AF BC 2B 79 A1 91 56 2E 13 05 F4 2D 99 6C 82 34 39 C5 6D 7F 7B 22 E1 46 44 41 7E 69 BC B6 DE 39 D0 27 00 1D AB E8 F3 5B 25 C9 BE 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 71 8C 39 7A A3 B5 61 A6 F7 90 1E 0E 82 97 48 56 A7 02 01 01 30 81 FE 06 09 04 00 7F 00 07 02 02 04 02 30 81 F0 06 0B 04 00 7F 00 07 01 01 05 02 02 02 30 81 E0 02 01 01 30 2C 06 07 2A 86 48 CE 3D 01 01 02 21 00 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 77 30 44 04 20 A9 FB 57 DB A1 EE A9 BC 3E 66 0A 90 9D 83 8D 72 6E 3B F6 23 D5 26 20 28 20 13 48 1D 1F 6E 53 74 04 20 66 2C 61 C4 30 D8 4E A4 FE 66 A7 73 3D 0B 76 B7 BF 90 00 this results in rapdu, sw1, sw2: [129, 1, 254, 233, 43, 4, 4, 65, 4, 163, 232, 235, 60, 193, 207, 231, 183, 115, 34, 19, 178, 58, 101, 97, 73, 175, 161, 66, 196, 122, 175, 188, 43, 121, 161, 145, 86, 46, 19, 5, 244, 45, 153, 108, 130, 52, 57, 197, 109, 127, 123, 34, 225, 70, 68, 65, 126, 105, 188, 182, 222, 57, 208, 39, 0, 29, 171, 232, 243, 91, 37, 201, 190, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 113, 140, 57, 122, 163, 181, 97, 166, 247, 144, 30, 14, 130, 151, 72, 86, 167, 2, 1, 1, 48, 129, 254, 6, 9, 4, 0, 127, 0, 7, 2, 2, 4, 2, 48, 129, 240, 6, 11, 4, 0, 127, 0, 7, 1, 1, 5, 2, 2, 2, 48, 129, 224, 2, 1, 1, 48, 44, 6, 7, 42, 134, 72, 206, 61, 1, 1, 2, 33, 0, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 119, 48, 68, 4, 32, 169, 251, 87, 219, 161, 238, 169, 188, 62, 102, 10, 144, 157, 131, 141, 114, 110, 59, 246, 35, 213, 38, 32, 40, 32, 19, 72, 29, 31, 110, 83, 116, 4, 32, 102, 44, 97, 196, 48, 216, 78, 164, 254, 102, 167, 115, 61, 11, 118, 183, 191, 144, 0] 144 0 as you can see, the last 144, 0 should be removed from the list of databytes ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 20:49 Message: The problem is not related to the response size. I have the same behavior even for short responses. According to the source code this is the intended behavior. Source code is: def sendCommandAPDU(self, command): """Send an APDU command to the connected smartcard. command: list of APDU bytes, e.g. [0xA0, 0xA4, 0x00, 0x00, 0x02] returns a tuple (response, sw1, sw2) where response is the APDU response sw1, sw2 are the two status words """ response, sw1, sw2 = self.cs.connection.transmit(command) if len(response) > 2: response.append(sw1) response.append(sw2) return response, sw1, sw2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3083586&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-19 14:45:10
|
Bugs item #3418113, was opened at 2011-10-04 01:35 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3418113&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: bernard paulus (bernardpaulus) >Assigned to: Ludovic Rousseau (ludov) Summary: Trivial reader comparison Initial Comment: Hi! I'm trying to build a shell to interact with smartcards above pyscard, and I had some strange results: reader=smartcard.reader.Reader.Reader('Brian Died For You') print reader == 42 Returns 1, i.e. True! And it's quite a problem at the moment, because i'm using a string to represent a null reader, which also compares as equal with every reader. By reading the source code, I found a small typo here: http://pyscard.sourceforge.net/epydoc/smartcard.reader.Reader-pysrc.html#Reader.__eq__ the current code is: 51 def __eq__(self, other): 52 """Returns 0 if self==other (same name).""" 53 if type(other) == type(self): 54 return self.name == other.name 55 else: 56 return 1 # here is the typo it should be: 51 def __eq__(self, other): 52 """Returns 0 if self==other (same name).""" 53 if type(other) == type(self): 54 return self.name == other.name 55 else: 56 return 0 # or False Besides that, thanks for this librairy! It's a pleasure to code in python with it :) Regards, bernard ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 16:45 Message: Fixed in revision 574 http://pyscard.svn.sourceforge.net/viewvc/pyscard?view=revision&revision=574 Thanks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3418113&group_id=196342 |
From: <lu...@us...> - 2011-10-19 14:44:14
|
Revision: 574 http://pyscard.svn.sourceforge.net/pyscard/?rev=574&view=rev Author: ludov Date: 2011-10-19 14:44:03 +0000 (Wed, 19 Oct 2011) Log Message: ----------- Fix __eq__ to rturn False instead of 1 if the two object are different Closes Bug 3418113 "Trivial reader comparison" https://sourceforge.net/tracker/?func=detail&aid=3418113&group_id=196342&atid=957072 Modified Paths: -------------- trunk/pyscard/src/smartcard/reader/Reader.py Modified: trunk/pyscard/src/smartcard/reader/Reader.py =================================================================== --- trunk/pyscard/src/smartcard/reader/Reader.py 2011-10-19 13:01:49 UTC (rev 573) +++ trunk/pyscard/src/smartcard/reader/Reader.py 2011-10-19 14:44:03 UTC (rev 574) @@ -49,11 +49,11 @@ pass def __eq__(self, other): - """Returns 0 if self==other (same name).""" + """Returns True if self==other (same name).""" if type(other) == type(self): return self.name == other.name else: - return 1 + return False def __repr__(self): """Returns card reader name string for `object` calls.""" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2011-10-19 14:36:03
|
Bugs item #3388079, was opened at 2011-08-07 23:56 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open >Resolution: Accepted Priority: 5 Private: No Submitted By: https://www.google.com/accounts () >Assigned to: jean-daniel aussel (jdaussel) Summary: Lion support? Initial Comment: The prebuilt Mac .pkg installer installs the extension to Python 2.6 on OS X Lion, despite the fact that 2.7 is the new default. Building from source doesn't work either ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 16:36 Message: Lion is already supported in the development version in SVN. It will be supported in the next release. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3388079&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-19 13:20:02
|
Bugs item #3072003, was opened at 2010-09-20 18:09 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3072003&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PCSC wrapper Group: None >Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: https://www.google.com/accounts () Assigned to: jean-daniel aussel (jdaussel) Summary: crashes on GET RCORD and return FCP Initial Comment: on Mac: It is not possible, to run any command-apdu, that should return data. ---------- Primary Environment: Mac OSX 10.6.4 libusb-1.0.8 ccid-1.4.0 pcsc-lite-1.6.4 pyscard-1.6.12-py2.6-macosx10.6 Python 2.6 **************************************** Card / Reader: CyberJack 00 00 (Reiner SCT) Smartcard: German Geldkarte ATR: 3B FF 18 00 FF 81 31 FE 45 65 63 0D 07 63 07 64 00 0D 90 59 52 00 06 15 9A **************************************** Testscript: from smartcard.CardType import AnyCardType from smartcard.CardRequest import CardRequest from smartcard.util import toHexString SELMF = [0x00, 0xA4, 0x00, 0x0C] SELID = [0x00, 0xA4, 0x02, 0x0C, 0x02, 0x00, 0x03] SELIDplus = [0x00, 0xA4, 0x02, 0x04, 0x02, 0x00, 0x03, 0x00] GETREC = [0x00, 0xB2, 0x01, 0x04, 0x00] cardtype = AnyCardType() cardrequest = CardRequest( timeout=10, cardType=cardtype ) cardservice = cardrequest.waitforcard() cardservice.connection.connect() # to have at least one success apdu = SELMF print "----------- apdu:", toHexString(apdu) response, sw1, sw2 = cardservice.connection.transmit( apdu ) if sw1 != 0x90: print "error:", ("%x %x" % (sw1, sw2)); exit(1) print "sw1-2:", ("%x %x" % (sw1, sw2)) # position on EF_ID file (FID: 00 03) apdu = SELID print "----------- apdu:", toHexString(apdu) response, sw1, sw2 = cardservice.connection.transmit( apdu ) if sw1 != 0x90: print "error:", ("%x %x" % (sw1, sw2)); exit(1) print "sw1-2:", ("%x %x" % (sw1, sw2)) print "response:", toHexString(response) # get first an only record apdu = GETREC print "----------- apdu:", toHexString(apdu) response, sw1, sw2 = cardservice.connection.transmit( apdu ) print "sw1-2:", ("%x %x" % (sw1, sw2)); exit(1) **************************************** Output: ----------- apdu: 00 A4 00 0C sw1-2: 90 0 ----------- apdu: 00 A4 02 0C 02 00 03 sw1-2: 90 0 response: ----------- apdu: 00 B2 01 04 00 Traceback (most recent call last): File "MyTestAPDU.py", line 31, in <module> response, sw1, sw2 = cardservice.connection.transmit( apdu ) File "/Library/Python/2.6/site-packages/smartcard/CardConnectionDecorator.py", line 82, in transmit return self.component.transmit(bytes, protocol) File "/Library/Python/2.6/site-packages/smartcard/CardConnection.py", line 140, in transmit data, sw1, sw2 = self.doTransmit(bytes, protocol) File "/Library/Python/2.6/site-packages/smartcard/pcsc/PCSCCardConnection.py", line 175, in doTransmit raise CardConnectionException('Failed to transmit with protocol ' + dictProtocolHeader[pcscprotocolheader] + '. ' + SCardGetErrorMessage(hresult)) smartcard.Exceptions.CardConnectionException: Failed to transmit with protocol T1. Transaction failed. **************************************** Output when using SELIDplus (try to get FCP): ----------- apdu: 00 A4 00 0C sw1-2: 90 0 ----------- apdu: 00 A4 02 04 02 00 03 00 Traceback (most recent call last): File "MyTestAPDU.py", line 24, in <module> response, sw1, sw2 = cardservice.connection.transmit( apdu ) File "/Library/Python/2.6/site-packages/smartcard/CardConnectionDecorator.py", line 82, in transmit return self.component.transmit(bytes, protocol) File "/Library/Python/2.6/site-packages/smartcard/CardConnection.py", line 140, in transmit data, sw1, sw2 = self.doTransmit(bytes, protocol) File "/Library/Python/2.6/site-packages/smartcard/pcsc/PCSCCardConnection.py", line 175, in doTransmit raise CardConnectionException('Failed to transmit with protocol ' + dictProtocolHeader[pcscprotocolheader] + '. ' + SCardGetErrorMessage(hresult)) smartcard.Exceptions.CardConnectionException: Failed to transmit with protocol T1. Transaction failed. **************************************** Problem using an APDU, that should return a response, it is not possible to specify any expected Length: Transaction failed. **************************************** Running on Windows everything works On the same machine running Win7-32 in Parallels Desktop 6 using the same equipment and the Software Chipcard Master (http://www.chipcardmaster.de/) everything runs fine. ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 15:20 Message: Do not use your onw built of pcsc-lite on Mac OS X. Unless you really know what you are doing. This is not a bug in pyscard. Closing. ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-01-04 15:34 Message: You should not replace PC/SC on Mac OS X. Apple provides its own version of pcsc-lite. Can you reproduce the bug on GNU/Linux? Can you provide a pcscd trace of your bug? See http://pcsclite.alioth.debian.org/ccid.html#support ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957072&aid=3072003&group_id=196342 |
From: SourceForge.net <no...@so...> - 2011-10-19 13:02:36
|
Feature Requests item #3110077, was opened at 2010-11-16 13:10 Message generated for change (Comment added) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957075&aid=3110077&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Interface Improvements (example) Group: Next Release (example) >Status: Closed Priority: 5 Private: No Submitted By: chrysn () Assigned to: jean-daniel aussel (jdaussel) Summary: new style classes Initial Comment: since version 2.2, python has "new style classes", which unify types and classes. they provide more flexibility for getters and setters and better support for the super call, among other features. i suggest to change pyscard classes into new style classes by changing the definitions from "class Observer:" to "class Observer(object):". the classes this affects can be found using `grep '^class .*[^)]:' . -r`. (by the way, that list includes SWException, which i assume from the name should derive from Exception.) ---------------------------------------------------------------------- >Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 15:02 Message: Now closed in revision 573 http://pyscard.svn.sourceforge.net/viewvc/pyscard?view=revision&revision=573 ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 14:50 Message: Partly reverted in revision 572. Maybe you can help solve the problem. The error is: File "/Library/Python/2.7/site-packages/smartcard/__init__.py", line 34, in <module> from smartcard.System import listReaders File "/Library/Python/2.7/site-packages/smartcard/System.py", line 27, in <module> import smartcard.reader.ReaderFactory File "/Library/Python/2.7/site-packages/smartcard/reader/ReaderFactory.py", line 34, in <module> from smartcard.pcsc.PCSCReader import PCSCReader File "/Library/Python/2.7/site-packages/smartcard/pcsc/PCSCReader.py", line 25, in <module> from smartcard.CardConnectionDecorator import CardConnectionDecorator File "/Library/Python/2.7/site-packages/smartcard/CardConnectionDecorator.py", line 27, in <module> from smartcard.CardConnection import CardConnection File "/Library/Python/2.7/site-packages/smartcard/CardConnection.py", line 28, in <module> from smartcard.Observer import Observer File "/Library/Python/2.7/site-packages/smartcard/Observer.py", line 81, in <module> "countObservers") File "/Library/Python/2.7/site-packages/smartcard/Synchronization.py", line 36, in synchronize klass.__dict__[name] = synchronized(val) TypeError: 'dictproxy' object does not support item assignment ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 14:26 Message: This is now fixed in revision 571 http://pyscard.svn.sourceforge.net/viewvc/pyscard?view=revision&revision=571 Thanks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957075&aid=3110077&group_id=196342 |
From: <lu...@us...> - 2011-10-19 13:01:55
|
Revision: 573 http://pyscard.svn.sourceforge.net/pyscard/?rev=573&view=rev Author: ludov Date: 2011-10-19 13:01:49 +0000 (Wed, 19 Oct 2011) Log Message: ----------- Use setattr() instead of a direct access to __dict__ Closes Feature Request 3110077 "new style classes" https://sourceforge.net/tracker/?func=detail&aid=3110077&group_id=196342&atid=957075 Modified Paths: -------------- trunk/pyscard/src/smartcard/Synchronization.py Modified: trunk/pyscard/src/smartcard/Synchronization.py =================================================================== --- trunk/pyscard/src/smartcard/Synchronization.py 2011-10-19 12:47:30 UTC (rev 572) +++ trunk/pyscard/src/smartcard/Synchronization.py 2011-10-19 13:01:49 UTC (rev 573) @@ -33,10 +33,10 @@ if callable(val) and name != '__init__' and \ (names == None or name in names): # print "synchronizing", name - klass.__dict__[name] = synchronized(val) + setattr(klass, name, synchronized(val)) -class Synchronization: +class Synchronization(object): # You can create your own self.mutex, or inherit from this class: def __init__(self): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2011-10-19 12:50:31
|
Feature Requests item #3110077, was opened at 2010-11-16 13:10 Message generated for change (Settings changed) made by ludov You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957075&aid=3110077&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Interface Improvements (example) Group: Next Release (example) >Status: Open Priority: 5 Private: No Submitted By: chrysn () Assigned to: jean-daniel aussel (jdaussel) Summary: new style classes Initial Comment: since version 2.2, python has "new style classes", which unify types and classes. they provide more flexibility for getters and setters and better support for the super call, among other features. i suggest to change pyscard classes into new style classes by changing the definitions from "class Observer:" to "class Observer(object):". the classes this affects can be found using `grep '^class .*[^)]:' . -r`. (by the way, that list includes SWException, which i assume from the name should derive from Exception.) ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 14:50 Message: Partly reverted in revision 572. Maybe you can help solve the problem. The error is: File "/Library/Python/2.7/site-packages/smartcard/__init__.py", line 34, in <module> from smartcard.System import listReaders File "/Library/Python/2.7/site-packages/smartcard/System.py", line 27, in <module> import smartcard.reader.ReaderFactory File "/Library/Python/2.7/site-packages/smartcard/reader/ReaderFactory.py", line 34, in <module> from smartcard.pcsc.PCSCReader import PCSCReader File "/Library/Python/2.7/site-packages/smartcard/pcsc/PCSCReader.py", line 25, in <module> from smartcard.CardConnectionDecorator import CardConnectionDecorator File "/Library/Python/2.7/site-packages/smartcard/CardConnectionDecorator.py", line 27, in <module> from smartcard.CardConnection import CardConnection File "/Library/Python/2.7/site-packages/smartcard/CardConnection.py", line 28, in <module> from smartcard.Observer import Observer File "/Library/Python/2.7/site-packages/smartcard/Observer.py", line 81, in <module> "countObservers") File "/Library/Python/2.7/site-packages/smartcard/Synchronization.py", line 36, in synchronize klass.__dict__[name] = synchronized(val) TypeError: 'dictproxy' object does not support item assignment ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 14:26 Message: This is now fixed in revision 571 http://pyscard.svn.sourceforge.net/viewvc/pyscard?view=revision&revision=571 Thanks ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957075&aid=3110077&group_id=196342 |