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: <lu...@us...> - 2011-04-17 16:53:26
|
Revision: 527 http://pyscard.svn.sourceforge.net/pyscard/?rev=527&view=rev Author: ludov Date: 2011-04-17 16:53:20 +0000 (Sun, 17 Apr 2011) Log Message: ----------- Display extra bytes from invalid ATR Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2011-02-04 14:57:05 UTC (rev 526) +++ trunk/contrib/parseATR/parseATR.py 2011-04-17 16:53:20 UTC (rev 527) @@ -123,6 +123,10 @@ # Store historical bytes atr["hb"] = atr_txt[pointer + 1: pointer + 1 + hb_length] + last = pointer + 1 + hb_length + if len(atr_txt) > last: + atr["extra"] = atr_txt[last:] + if len(atr["hb"]) < hb_length: missing = hb_length - len(atr["hb"]) if missing > 1: @@ -301,6 +305,7 @@ def TD4(v): return TDn(4, v) + def TD5(v): return TDn(5, v) @@ -732,6 +737,9 @@ t.append("WRONG CHECKSUM, expected 0x%02X" % tck) text.append(t) + if "extra" in atr: + text.append(["Extra bytes", toHexString(atr["extra"])]) + return "\n".join([colorize(t) for t in text]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2011-02-04 14:57:11
|
Revision: 526 http://pyscard.svn.sourceforge.net/pyscard/?rev=526&view=rev Author: ludov Date: 2011-02-04 14:57:05 +0000 (Fri, 04 Feb 2011) Log Message: ----------- Change the value of SCARD_PROTOCOL_UNDEFINED on Mac OS X to match its value on GNU/Linux Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/PcscDefs.i Modified: trunk/pyscard/src/smartcard/scard/PcscDefs.i =================================================================== --- trunk/pyscard/src/smartcard/scard/PcscDefs.i 2011-02-04 13:55:41 UTC (rev 525) +++ trunk/pyscard/src/smartcard/scard/PcscDefs.i 2011-02-04 14:57:05 UTC (rev 526) @@ -97,7 +97,7 @@ } ProtocolType ; %constant unsigned long SCARD_PROTOCOL_UNSET = SCARD_PROTOCOL_ANY ; %constant unsigned long SCARD_PROTOCOL_T15 = 0x00000008 ; - %constant unsigned long SCARD_PROTOCOL_UNDEFINED = SCARD_PROTOCOL_ANY ; + %constant unsigned long SCARD_PROTOCOL_UNDEFINED = 0 ; %constant unsigned long SCARD_PROTOCOL_OPTIMAL = SCARD_PROTOCOL_ANY ; #else //__APPLE__ typedef enum This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2011-02-04 13:55:47
|
Revision: 525 http://pyscard.svn.sourceforge.net/pyscard/?rev=525&view=rev Author: ludov Date: 2011-02-04 13:55:41 +0000 (Fri, 04 Feb 2011) Log Message: ----------- Fix a warning from "clang --analyse" smartcard/scard/helpers.c:1175:19: warning: Although the value stored to 'cChars' is used in the enclosing expression, the value is never actually read from 'cChars' for( x=0, cChars=0, p=psl->ac; x<cStrings; x++ ) ^ ~ Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/helpers.c Modified: trunk/pyscard/src/smartcard/scard/helpers.c =================================================================== --- trunk/pyscard/src/smartcard/scard/helpers.c 2010-12-29 17:57:44 UTC (rev 524) +++ trunk/pyscard/src/smartcard/scard/helpers.c 2011-02-04 13:55:41 UTC (rev 525) @@ -1172,7 +1172,7 @@ return NULL; } - for( x=0, cChars=0, p=psl->ac; x<cStrings; x++ ) + for( x=0, p=psl->ac; x<cStrings; x++ ) { PyObject* o = PyList_GetItem(source, x); strcpy( p, PyString_AsString(o) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-12-29 17:57:50
|
Revision: 524 http://pyscard.svn.sourceforge.net/pyscard/?rev=524&view=rev Author: jdaussel Date: 2010-12-29 17:57:44 +0000 (Wed, 29 Dec 2010) Log Message: ----------- Updated test case to support Windows 7 inbox cards Modified Paths: -------------- trunk/pyscard/src/smartcard/test/scard/testcase_listcards.py Modified: trunk/pyscard/src/smartcard/test/scard/testcase_listcards.py =================================================================== --- trunk/pyscard/src/smartcard/test/scard/testcase_listcards.py 2010-12-27 16:03:37 UTC (rev 523) +++ trunk/pyscard/src/smartcard/test/scard/testcase_listcards.py 2010-12-29 17:57:44 UTC (rev 524) @@ -28,6 +28,7 @@ import unittest +import platform from smartcard.scard import * import smartcard.guid @@ -75,14 +76,21 @@ hresult = SCardForgetCardType(self.hcontext, self.dummycardname) self.assertEquals(hresult, 0) - # locate Cryptoflex 8k v2 + # locate a known card # Cryptoflex 8k v2 is present in standard Windows 2000 def test_listcryptoflexbyatr(self): - slbCryptoFlex8kv2ATR = [0x3B, 0x95, 0x15, 0x40, 0x00, 0x68, 0x01, 0x02, 0x00, 0x00] - slbCryptoFlex8kv2Name = ['Schlumberger Cryptoflex 8K v2'] - hresult, card = SCardListCards(self.hcontext, slbCryptoFlex8kv2ATR, []) - self.assertEquals(hresult, 0) - self.assertEquals(card, slbCryptoFlex8kv2Name) + if 'Windows-7-6.1.7600'==platform.platform(): + dmyATR = [0x3B, 0x75, 0x94, 0x00, 0x00, 0x62, 0x02, 0x02, 0x01, 0x01] + dmyName = ['dummycard'] + hresult, card = SCardListCards(self.hcontext, dmyATR, []) + self.assertEquals(hresult, 0) + self.assertEquals(card, dmyName) + else: + slbCryptoFlex8kv2ATR = [0x3B, 0x95, 0x15, 0x40, 0x00, 0x68, 0x01, 0x02, 0x00, 0x00] + slbCryptoFlex8kv2Name = ['Schlumberger Cryptoflex 8K v2'] + hresult, card = SCardListCards(self.hcontext, slbCryptoFlex8kv2ATR, []) + self.assertEquals(hresult, 0) + self.assertEquals(card, slbCryptoFlex8kv2Name) # locate dummy card by interface def test_listdummycardbyguid(self): @@ -104,12 +112,16 @@ # locate all cards and interfaces in the system def test_listallcards(self): - # dummycard has been introduced in the test setup and - # will be removed in the test teardown. Other cards are - # the cards present by default on Windows 2000 - expectedCards = ['dummycard', 'GemSAFE Smart Card (8K)', - 'Schlumberger Cryptoflex 4K', - 'Schlumberger Cryptoflex 8K', 'Schlumberger Cryptoflex 8K v2'] + if 'Windows-7-6.1.7600'==platform.platform(): + expectedCards = [ 'Identity Device (Microsoft Generic Profile)', + 'Identity Device (NIST SP 800-73 [PIV])' ] + else: + # dummycard has been introduced in the test setup and + # will be removed in the test teardown. Other cards are + # the cards present by default on Windows 2000 + expectedCards = ['dummycard', 'GemSAFE Smart Card (8K)', + 'Schlumberger Cryptoflex 4K', + 'Schlumberger Cryptoflex 8K', 'Schlumberger Cryptoflex 8K v2'] hresult, cards = SCardListCards(self.hcontext, [], []) self.assertEquals(hresult, 0) foundCards = {} @@ -119,12 +131,18 @@ self.assert_(foundCards.has_key(i)) # dummycard has a primary provider, other cards have no primary provider - expectedPrimaryProviderResult = { - 'dummycard': [0, self.dummycardguid1], - 'GemSAFE': [2, None], - 'Schlumberger Cryptoflex 4k': [2, None], - 'Schlumberger Cryptoflex 8k': [2, None], - 'Schlumberger Cryptoflex 8k v2': [2, None]} + if 'Windows-7-6.1.7600'==platform.platform(): + expectedPrimaryProviderResult = { + 'dummycard': [0, self.dummycardguid1], + 'Identity Device (Microsoft Generic Profile)': [2, None], + 'Identity Device (NIST SP 800-73 [PIV])': [2, None] } + else: + expectedPrimaryProviderResult = { + 'dummycard': [0, self.dummycardguid1], + 'GemSAFE': [2, None], + 'Schlumberger Cryptoflex 4k': [2, None], + 'Schlumberger Cryptoflex 8k': [2, None], + 'Schlumberger Cryptoflex 8k v2': [2, None]} for i in xrange(len(cards)): hresult, providername = SCardGetCardTypeProviderName( self.hcontext, cards[i], SCARD_PROVIDER_PRIMARY) @@ -134,13 +152,18 @@ self.assertEquals(providername, smartcard.guid.GUIDToStr(expectedPrimaryProviderResult[cards[i]][1])) # dummycard has no CSP, other cards have a CSP - #expectedProviderCSP = [2, 0, 0, 0, 0] - expectedProviderCSPResult = { - 'dummycard': [2, None], - 'GemSAFE': [0, 'Gemplus GemSAFE Card CSP v1.0'], - 'Schlumberger Cryptoflex 4k': [0, 'Schlumberger Cryptographic Service Provider'], - 'Schlumberger Cryptoflex 8k': [0, 'Schlumberger Cryptographic Service Provider'], - 'Schlumberger Cryptoflex 8k v2': [0, 'Schlumberger Cryptographic Service Provider']} + if 'Windows-7-6.1.7600'==platform.platform(): + expectedProviderCSPResult = { + 'dummycard': [2, None], + 'Identity Device (Microsoft Generic Profile)': [0, 'Microsoft Base Smart Card Crypto Provider'], + 'Identity Device (NIST SP 800-73 [PIV])': [0, 'Microsoft Base Smart Card Crypto Provider'] } + else: + expectedProviderCSPResult = { + 'dummycard': [2, None], + 'GemSAFE': [0, 'Gemplus GemSAFE Card CSP v1.0'], + 'Schlumberger Cryptoflex 4k': [0, 'Schlumberger Cryptographic Service Provider'], + 'Schlumberger Cryptoflex 8k': [0, 'Schlumberger Cryptographic Service Provider'], + 'Schlumberger Cryptoflex 8k v2': [0, 'Schlumberger Cryptographic Service Provider']} for i in xrange(len(cards)): hresult, providername = SCardGetCardTypeProviderName( self.hcontext, cards[i], SCARD_PROVIDER_CSP) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-12-27 16:03:44
|
Revision: 523 http://pyscard.svn.sourceforge.net/pyscard/?rev=523&view=rev Author: jdaussel Date: 2010-12-27 16:03:37 +0000 (Mon, 27 Dec 2010) Log Message: ----------- Support of 64bit SCARDCONTEXT and SCARDHANDLE on windows Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/helpers.c Modified: trunk/pyscard/src/smartcard/scard/helpers.c =================================================================== --- trunk/pyscard/src/smartcard/scard/helpers.c 2010-12-23 14:44:33 UTC (rev 522) +++ trunk/pyscard/src/smartcard/scard/helpers.c 2010-12-27 16:03:37 UTC (rev 523) @@ -727,7 +727,7 @@ #ifdef PCSCLITE oScardContext = PyLong_FromLong( (long)source ); #else // !PCSCLITE - oScardContext = PyLong_FromUnsignedLong( (unsigned long)source ); + oScardContext = PyLong_FromVoidPtr( (void*)source ); #endif // PCSCLITE // append list to target @@ -773,7 +773,7 @@ #ifdef PCSCLITE scRet = PyLong_AsLong( source ); #else // !PCSCLITE - scRet = PyLong_AsUnsignedLong( source ); + scRet = PyLong_AsVoidPtr( source ); #endif // PCSCLITE return scRet; @@ -797,7 +797,7 @@ #ifdef PCSCLITE oScardHandle = PyLong_FromLong( (long)source ); #else // !PCSCLITE - oScardHandle = PyLong_FromUnsignedLong( (unsigned long)source ); + oScardHandle = PyLong_FromVoidPtr( (void*)source ); #endif // PCSCLITE // append list to target @@ -843,7 +843,7 @@ #ifdef PCSCLITE scRet = PyLong_AsLong( source ); #else // !PCSCLITE - scRet = PyLong_AsUnsignedLong( source ); + scRet = PyLong_AsVoidPtr( source ); #endif // PCSCLITE return scRet; @@ -860,24 +860,24 @@ builds a Python SCARDDWORDARG from a C SCARDDWORDARG ==============================================================================*/ { - PyObject* oScardContext; + PyObject* oScardDword; - // create SCARDCONTEXT + // create SCARDDWORDARG #ifdef PCSCLITE - oScardContext = PyLong_FromLong( (long)source ); + oScardDword = PyLong_FromLong( (long)source ); #else // !PCSCLITE - oScardContext = PyLong_FromUnsignedLong( (unsigned long)source ); + oScardDword = PyLong_FromUnsignedLong( (unsigned long)source ); #endif // PCSCLITE // append list to target if( !*ptarget ) { - *ptarget = oScardContext; + *ptarget = oScardDword; } else if( *ptarget == Py_None ) { Py_DECREF(Py_None); - *ptarget = oScardContext; + *ptarget = oScardDword; } else { @@ -888,8 +888,8 @@ PyList_Append(*ptarget,o2); Py_XDECREF(o2); } - PyList_Append(*ptarget,oScardContext); - Py_XDECREF(oScardContext); + PyList_Append(*ptarget,oScardDword); + Py_XDECREF(oScardDword); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-12-23 14:44:43
|
Revision: 522 http://pyscard.svn.sourceforge.net/pyscard/?rev=522&view=rev Author: jdaussel Date: 2010-12-23 14:44:33 +0000 (Thu, 23 Dec 2010) Log Message: ----------- Preparing for version 1.6.14 of pyscard Modified Paths: -------------- trunk/pyscard/src/PKG-INFO trunk/pyscard/src/README trunk/pyscard/src/setup.py trunk/pyscard/src/smartcard/ATR.py trunk/pyscard/src/smartcard/AbstractCardRequest.py trunk/pyscard/src/smartcard/Card.py trunk/pyscard/src/smartcard/CardConnection.py trunk/pyscard/src/smartcard/CardConnectionDecorator.py trunk/pyscard/src/smartcard/CardConnectionEvent.py trunk/pyscard/src/smartcard/CardConnectionObserver.py trunk/pyscard/src/smartcard/CardMonitoring.py trunk/pyscard/src/smartcard/CardNames.py trunk/pyscard/src/smartcard/CardRequest.py trunk/pyscard/src/smartcard/CardService.py trunk/pyscard/src/smartcard/CardType.py trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/Examples/framework/sample_CardConnectionDecorator.py trunk/pyscard/src/smartcard/Examples/framework/sample_ConsoleConnectionTracer.py trunk/pyscard/src/smartcard/Examples/framework/sample_CustomCardType.py trunk/pyscard/src/smartcard/Examples/framework/sample_CustomErrorChecker.py trunk/pyscard/src/smartcard/Examples/framework/sample_ErrorChecking.py trunk/pyscard/src/smartcard/Examples/framework/sample_ExclusiveCardConnection.py trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCards.py trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCardsAndTransmit.py trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorReaders.py trunk/pyscard/src/smartcard/Examples/framework/sample_TransmitCardObserver.py trunk/pyscard/src/smartcard/Examples/framework/sample_apduTracerInterpreter.py trunk/pyscard/src/smartcard/Examples/framework/sample_toHexString.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_getAttrib.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_getStatusChange.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_listCards.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_listInterfaces.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_locateCards.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_readerGroups.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_readers.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_selectDFTelecom.py trunk/pyscard/src/smartcard/Examples/scard-api/sample_transaction.py trunk/pyscard/src/smartcard/Examples/simple/getATR.py trunk/pyscard/src/smartcard/Examples/simple/selectDF_TELECOM.py trunk/pyscard/src/smartcard/Examples/wx/apdumanager/SampleAPDUManagerPanel.py trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py trunk/pyscard/src/smartcard/Examples/wx/pcscdiag/pcscdiag.py trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py trunk/pyscard/src/smartcard/Exceptions.py trunk/pyscard/src/smartcard/ExclusiveConnectCardConnection.py trunk/pyscard/src/smartcard/ExclusiveTransmitCardConnection.py trunk/pyscard/src/smartcard/PassThruCardService.py trunk/pyscard/src/smartcard/README trunk/pyscard/src/smartcard/ReaderMonitoring.py trunk/pyscard/src/smartcard/Session.py trunk/pyscard/src/smartcard/System.py trunk/pyscard/src/smartcard/__init__.py trunk/pyscard/src/smartcard/doc/framework-samples.html trunk/pyscard/src/smartcard/doc/index.html trunk/pyscard/src/smartcard/doc/scard-samples.html trunk/pyscard/src/smartcard/guid.py trunk/pyscard/src/smartcard/pcsc/PCSCCardConnection.py trunk/pyscard/src/smartcard/pcsc/PCSCCardRequest.py trunk/pyscard/src/smartcard/pcsc/PCSCContext.py trunk/pyscard/src/smartcard/pcsc/PCSCExceptions.py trunk/pyscard/src/smartcard/pcsc/PCSCReader.py trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py trunk/pyscard/src/smartcard/pyro/PyroReader.py trunk/pyscard/src/smartcard/pyro/server/PyroDaemon.py trunk/pyscard/src/smartcard/pyro/server/PyroEventServer.py trunk/pyscard/src/smartcard/pyro/server/PyroNameServer.py trunk/pyscard/src/smartcard/pyro/server/RemoteCardConnection.py trunk/pyscard/src/smartcard/pyro/server/RemoteReaderServer.py trunk/pyscard/src/smartcard/reader/Reader.py trunk/pyscard/src/smartcard/reader/ReaderFactory.py trunk/pyscard/src/smartcard/reader/ReaderGroups.py trunk/pyscard/src/smartcard/scard/PcscDefs.i trunk/pyscard/src/smartcard/scard/PcscTypemaps.i trunk/pyscard/src/smartcard/scard/gemalto.ver trunk/pyscard/src/smartcard/scard/helpers.c trunk/pyscard/src/smartcard/scard/helpers.h trunk/pyscard/src/smartcard/scard/makefile trunk/pyscard/src/smartcard/scard/memlog.h trunk/pyscard/src/smartcard/scard/pcsctypes.h trunk/pyscard/src/smartcard/scard/scard.i trunk/pyscard/src/smartcard/scard/winscarddll.c trunk/pyscard/src/smartcard/scard/winscarddll.h trunk/pyscard/src/smartcard/sw/ErrorChecker.py trunk/pyscard/src/smartcard/sw/ErrorCheckingChain.py trunk/pyscard/src/smartcard/sw/ISO7816_4ErrorChecker.py trunk/pyscard/src/smartcard/sw/ISO7816_4_SW1ErrorChecker.py trunk/pyscard/src/smartcard/sw/ISO7816_8ErrorChecker.py trunk/pyscard/src/smartcard/sw/ISO7816_9ErrorChecker.py trunk/pyscard/src/smartcard/sw/SWExceptions.py trunk/pyscard/src/smartcard/sw/__init__.py trunk/pyscard/src/smartcard/sw/op21_ErrorChecker.py trunk/pyscard/src/smartcard/test/configcheck.py trunk/pyscard/src/smartcard/test/framework/testcase_ATR.py trunk/pyscard/src/smartcard/test/framework/testcase_CAtr.py trunk/pyscard/src/smartcard/test/framework/testcase_Card.py trunk/pyscard/src/smartcard/test/framework/testcase_CardConnection.py trunk/pyscard/src/smartcard/test/framework/testcase_CardMonitor.py trunk/pyscard/src/smartcard/test/framework/testcase_CardRequest.py trunk/pyscard/src/smartcard/test/framework/testcase_CardService.py trunk/pyscard/src/smartcard/test/framework/testcase_CardType.py trunk/pyscard/src/smartcard/test/framework/testcase_ErrorChecking.py trunk/pyscard/src/smartcard/test/framework/testcase_ExclusiveCardConnection.py trunk/pyscard/src/smartcard/test/framework/testcase_readergroups.py trunk/pyscard/src/smartcard/test/framework/testcase_readermonitor.py trunk/pyscard/src/smartcard/test/framework/testcase_readermonitorstress.py trunk/pyscard/src/smartcard/test/framework/testcase_readers.py trunk/pyscard/src/smartcard/test/framework/testcase_ulist.py trunk/pyscard/src/smartcard/test/framework/testcase_utils.py trunk/pyscard/src/smartcard/test/framework/testsuite_framework.py trunk/pyscard/src/smartcard/test/frameworkpcsc/testcase_pcscreadergroups.py trunk/pyscard/src/smartcard/test/frameworkpcsc/testsuite_frameworkpcsc.py trunk/pyscard/src/smartcard/test/manual/testcase_manualCardRequest.py trunk/pyscard/src/smartcard/test/scard/testcase_getatr.py trunk/pyscard/src/smartcard/test/scard/testcase_getattrib.py trunk/pyscard/src/smartcard/test/scard/testcase_geterrormessage.py trunk/pyscard/src/smartcard/test/scard/testcase_listcards.py trunk/pyscard/src/smartcard/test/scard/testcase_locatecards.py trunk/pyscard/src/smartcard/test/scard/testcase_readergroups.py trunk/pyscard/src/smartcard/test/scard/testcase_transaction.py trunk/pyscard/src/smartcard/test/scard/testsuite_scard.py trunk/pyscard/src/smartcard/ulist.py trunk/pyscard/src/smartcard/util/__init__.py trunk/pyscard/src/smartcard/wx/APDUHexValidator.py trunk/pyscard/src/smartcard/wx/APDUTracerPanel.py trunk/pyscard/src/smartcard/wx/CardAndReaderTreePanel.py trunk/pyscard/src/smartcard/wx/ReaderToolbar.py trunk/pyscard/src/smartcard/wx/SimpleSCardApp.py trunk/pyscard/src/smartcard/wx/SimpleSCardAppEventObserver.py trunk/pyscard/src/smartcard/wx/SimpleSCardAppFrame.py trunk/pyscard/src/smartcard/wx/__init__.py trunk/pyscard/tools/commands/build-doc.py trunk/pyscard/tools/commands/uninstall.py Modified: trunk/pyscard/src/PKG-INFO =================================================================== --- trunk/pyscard/src/PKG-INFO 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/PKG-INFO 2010-12-23 14:44:33 UTC (rev 522) @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: pyscard -Version: 1.6.12 +Version: 1.6.14 Summary: Smartcard module for Python. Home-page: http://pyscard.sourceforge.net/ Author: Jean-Daniel Aussel @@ -11,7 +11,7 @@ Platform: linux Platform: win32 Platform: Mac OSX -Classifier: Development Status :: 1.6.12 - Release +Classifier: Development Status :: 1.6.14 - Release Classifier: License :: GNU LESSER GENERAL PUBLIC LICENSE Classifier: Intended Audience :: Developers Classifier: Operating System :: Unix Modified: trunk/pyscard/src/README =================================================================== --- trunk/pyscard/src/README 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/README 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ http://pyscard.sourceforge.net/ ------------------------------------------------------------------------------- -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. @@ -23,7 +23,7 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.12 (August 2010) +Last update : pyscard 1.6.14 (January 2011) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -61,7 +61,7 @@ The binary msi installer and self-executable installer are packaged for a specific version of python, and have name similar to -pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for +pyscard-1.6.14.win32-py2.5.msi and pyscard-1.6.14.win32-py2.5.exe for python 2.5. @@ -77,8 +77,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip for windows, -and pyscard-1.6.12.tar.gz for linux. +The source distribution is available as pyscard-1.6.14.zip for windows, +and pyscard-1.6.14.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -99,8 +99,8 @@ 1. download the binary distribution The binary distribution is either an archive file or a rpm file, with -names similar to pyscard-1.6.12-1.i386.rpm for the rpm distribution, -or pyscard-1.6.12.linux-i686.tar.gz for the archive distribution. +names similar to pyscard-1.6.14-1.i386.rpm for the rpm distribution, +or pyscard-1.6.14.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -115,8 +115,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar the source distribution @@ -130,7 +130,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.12. It was developed +The Mac OS X Tiger support is experimental on pyscard 1.6.14. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -140,14 +140,14 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.12-py-2.3-macosx10.4.mpkg or pyscard-1.6.12-py-2.5-macosx10.4.mpkg. +pyscard-1.6.14-py-2.3-macosx10.4.mpkg or pyscard-1.6.14-py-2.5-macosx10.4.mpkg. 2. Open the package and proceed with installation. -Python 2.3 is pre-installed, so install pyscard-1.6.12-py-2.3-macosx10.4.mpkg if +Python 2.3 is pre-installed, so install pyscard-1.6.14-py-2.3-macosx10.4.mpkg if you did not install another release of python. -Install pyscard-1.6.12-py-2.5-macosx10.4.mpkg if you installed python 2.5. +Install pyscard-1.6.14-py-2.5-macosx10.4.mpkg if you installed python 2.5. Installing on Mac OS X Tiger from the source distribution ---------------------------------------------------------- @@ -157,8 +157,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar or unzip the source distribution @@ -173,7 +173,7 @@ Installation on Max OS X Leopard: --------------------------------- -The Mac OS X Leopard support is experimental on pyscard 1.6.12. It was developed +The Mac OS X Leopard support is experimental on pyscard 1.6.14. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -183,7 +183,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.12-py-2.5-macosx10.5.mpkg. +pyscard-1.6.14-py-2.5-macosx10.5.mpkg. 2. Open the package and proceed with installation. @@ -195,8 +195,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar or unzip the source distribution @@ -235,9 +235,9 @@ setup.py build_ext bdist_wininst This will build the msi installer and self-executable installer in the dist -directory, with names similar to pyscard-1.6.12.win32-py2.5.msi and -pyscard-1.6.12.win32-py2.5.exe for python 2.5, and -pyscard-1.6.12.win32-py2.4.msi and pyscard-1.6.12.win32-py2.4.exe for +directory, with names similar to pyscard-1.6.14.win32-py2.5.msi and +pyscard-1.6.14.win32-py2.5.exe for python 2.5, and +pyscard-1.6.14.win32-py2.4.msi and pyscard-1.6.14.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -252,7 +252,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.12.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.14.linux-i686.tar.gz containing a tree Building a rpm distribution for linux @@ -274,7 +274,7 @@ echo "%_unpackaged_files_terminate_build 0" >> /etc/rpm/macros This will build in the dist directory a binary distribution with a name -similar to pyscard-1.6.12-1.i386.rpm. +similar to pyscard-1.6.14-1.i386.rpm. Building a binary distribution for Mac OS X Tiger ------------------------------------------------- @@ -291,7 +291,7 @@ python setup.py build_ext /System/Library/Frameworks/Python.Framework/Versions/2.3/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.3-macosx10.4.mpkg. +This will build package pyscard-1.6.14-py-2.3-macosx10.4.mpkg. If you are using python 2.5, in the root directory of the source distribution, i.e. in the src directory, execute the following commands in a terminal: @@ -299,7 +299,7 @@ python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.6-macosx10.4.mpkg. +This will build package pyscard-1.6.14-py-2.6-macosx10.4.mpkg. Building a binary distribution for Mac OS X Leopard @@ -348,7 +348,7 @@ python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/Extras/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.5-macosx10.5.mpkg. +This will build package pyscard-1.6.14-py-2.5-macosx10.5.mpkg. For python 2.6, from the root directory of the pyscard source distribution, i.e. in the src directory, execute the following commands in a terminal: @@ -356,7 +356,7 @@ python setup.py build_ext /Library/Frameworks/Python.framework/Versions/2.6/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.6-macosx10.5.mpkg. +This will build package pyscard-1.6.14-py-2.6-macosx10.5.mpkg. ------------------------------------------------------------------------------- Issue Tracking Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/setup.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. @@ -161,7 +161,7 @@ build_ext.swig_sources = swig_sources kw = {'name': "pyscard", - 'version': "1.6.12", + 'version': "1.6.14", 'description': "Smartcard module for Python.", 'author': "Jean-Daniel Aussel", 'author_email': "aus...@ge...", @@ -207,7 +207,7 @@ if hasattr(core, 'setup_keywords'): if 'classifiers' in core.setup_keywords: kw['classifiers'] = [ - 'Development Status :: 1.6.12 - Release', + 'Development Status :: 1.6.14 - Release', 'License :: GNU LESSER GENERAL PUBLIC LICENSE', 'Intended Audience :: Developers', 'Operating System :: Unix', Modified: trunk/pyscard/src/smartcard/ATR.py =================================================================== --- trunk/pyscard/src/smartcard/ATR.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/ATR.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/AbstractCardRequest.py =================================================================== --- trunk/pyscard/src/smartcard/AbstractCardRequest.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/AbstractCardRequest.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Card.py =================================================================== --- trunk/pyscard/src/smartcard/Card.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Card.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "gemalto http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/CardConnection.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardConnection.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardConnectionDecorator.py =================================================================== --- trunk/pyscard/src/smartcard/CardConnectionDecorator.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardConnectionDecorator.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardConnectionEvent.py =================================================================== --- trunk/pyscard/src/smartcard/CardConnectionEvent.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardConnectionEvent.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardConnectionObserver.py =================================================================== --- trunk/pyscard/src/smartcard/CardConnectionObserver.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardConnectionObserver.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,7 +5,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardMonitoring.py =================================================================== --- trunk/pyscard/src/smartcard/CardMonitoring.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardMonitoring.py 2010-12-23 14:44:33 UTC (rev 522) @@ -8,7 +8,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardNames.py =================================================================== --- trunk/pyscard/src/smartcard/CardNames.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardNames.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardRequest.py =================================================================== --- trunk/pyscard/src/smartcard/CardRequest.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardRequest.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardService.py =================================================================== --- trunk/pyscard/src/smartcard/CardService.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardService.py 2010-12-23 14:44:33 UTC (rev 522) @@ -10,7 +10,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/CardType.py =================================================================== --- trunk/pyscard/src/smartcard/CardType.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/CardType.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/ChangeLog 2010-12-23 14:44:33 UTC (rev 522) @@ -1,3 +1,7 @@ +1.6.14 (January 2011) +=================== + * added support for windows 64bit amd64 (Jean-Daniel Aussel) + 1.6.12 (August 2010) =================== * comply with PEP 8 (Ludovic Rousseau) Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_CardConnectionDecorator.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_CardConnectionDecorator.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_CardConnectionDecorator.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_ConsoleConnectionTracer.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_ConsoleConnectionTracer.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_ConsoleConnectionTracer.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_CustomCardType.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_CustomCardType.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_CustomCardType.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_CustomErrorChecker.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_CustomErrorChecker.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_CustomErrorChecker.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_ErrorChecking.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_ErrorChecking.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_ErrorChecking.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_ExclusiveCardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_ExclusiveCardConnection.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_ExclusiveCardConnection.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCards.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCards.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCards.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCardsAndTransmit.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCardsAndTransmit.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorCardsAndTransmit.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,7 +5,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorReaders.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorReaders.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_MonitorReaders.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_TransmitCardObserver.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_TransmitCardObserver.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_TransmitCardObserver.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_apduTracerInterpreter.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_apduTracerInterpreter.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_apduTracerInterpreter.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/framework/sample_toHexString.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/framework/sample_toHexString.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/framework/sample_toHexString.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_getAttrib.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_getAttrib.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_getAttrib.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_getStatusChange.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_getStatusChange.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_getStatusChange.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_listCards.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_listCards.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_listCards.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_listInterfaces.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_listInterfaces.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_listInterfaces.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_locateCards.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_locateCards.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_locateCards.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_readerGroups.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_readerGroups.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_readerGroups.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_readers.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_readers.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_readers.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_selectDFTelecom.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_selectDFTelecom.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_selectDFTelecom.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_transaction.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_transaction.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_transaction.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/simple/getATR.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/simple/getATR.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/simple/getATR.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/simple/selectDF_TELECOM.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/simple/selectDF_TELECOM.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/simple/selectDF_TELECOM.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Copyright 2010 Ludovic Rousseau Author: Ludovic Rousseau, mailto:lud...@fr... Modified: trunk/pyscard/src/smartcard/Examples/wx/apdumanager/SampleAPDUManagerPanel.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/SampleAPDUManagerPanel.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/apdumanager/SampleAPDUManagerPanel.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,7 +5,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,7 +5,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/pcscdiag/pcscdiag.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/pcscdiag/pcscdiag.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/pcscdiag/pcscdiag.py 2010-12-23 14:44:33 UTC (rev 522) @@ -6,7 +6,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,7 +5,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Exceptions.py =================================================================== --- trunk/pyscard/src/smartcard/Exceptions.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Exceptions.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/ExclusiveConnectCardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/ExclusiveConnectCardConnection.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/ExclusiveConnectCardConnection.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/ExclusiveTransmitCardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/ExclusiveTransmitCardConnection.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/ExclusiveTransmitCardConnection.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/PassThruCardService.py =================================================================== --- trunk/pyscard/src/smartcard/PassThruCardService.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/PassThruCardService.py 2010-12-23 14:44:33 UTC (rev 522) @@ -7,7 +7,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/README =================================================================== --- trunk/pyscard/src/smartcard/README 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/README 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ http://pyscard.sourceforge.net/ ------------------------------------------------------------------------------- -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. @@ -23,7 +23,7 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.12 (August 2010) +Last update : pyscard 1.6.14 (January 2011) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -61,7 +61,7 @@ The binary msi installer and self-executable installer are packaged for a specific version of python, and have name similar to -pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for +pyscard-1.6.14.win32-py2.5.msi and pyscard-1.6.14.win32-py2.5.exe for python 2.5. @@ -77,8 +77,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip for windows, -and pyscard-1.6.12.tar.gz for linux. +The source distribution is available as pyscard-1.6.14.zip for windows, +and pyscard-1.6.14.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -99,8 +99,8 @@ 1. download the binary distribution The binary distribution is either an archive file or a rpm file, with -names similar to pyscard-1.6.12-1.i386.rpm for the rpm distribution, -or pyscard-1.6.12.linux-i686.tar.gz for the archive distribution. +names similar to pyscard-1.6.14-1.i386.rpm for the rpm distribution, +or pyscard-1.6.14.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -115,8 +115,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar the source distribution @@ -130,7 +130,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.12. It was developed +The Mac OS X Tiger support is experimental on pyscard 1.6.14. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -140,14 +140,14 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.12-py-2.3-macosx10.4.mpkg or pyscard-1.6.12-py-2.5-macosx10.4.mpkg. +pyscard-1.6.14-py-2.3-macosx10.4.mpkg or pyscard-1.6.14-py-2.5-macosx10.4.mpkg. 2. Open the package and proceed with installation. -Python 2.3 is pre-installed, so install pyscard-1.6.12-py-2.3-macosx10.4.mpkg if +Python 2.3 is pre-installed, so install pyscard-1.6.14-py-2.3-macosx10.4.mpkg if you did not install another release of python. -Install pyscard-1.6.12-py-2.5-macosx10.4.mpkg if you installed python 2.5. +Install pyscard-1.6.14-py-2.5-macosx10.4.mpkg if you installed python 2.5. Installing on Mac OS X Tiger from the source distribution ---------------------------------------------------------- @@ -157,8 +157,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar or unzip the source distribution @@ -173,7 +173,7 @@ Installation on Max OS X Leopard: --------------------------------- -The Mac OS X Leopard support is experimental on pyscard 1.6.12. It was developed +The Mac OS X Leopard support is experimental on pyscard 1.6.14. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -183,7 +183,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.12-py-2.5-macosx10.5.mpkg. +pyscard-1.6.14-py-2.5-macosx10.5.mpkg. 2. Open the package and proceed with installation. @@ -195,8 +195,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.12.zip or -pyscard-1.6.12.tar.gz. +The source distribution is available as pyscard-1.6.14.zip or +pyscard-1.6.14.tar.gz. 3. untar or unzip the source distribution @@ -235,9 +235,9 @@ setup.py build_ext bdist_wininst This will build the msi installer and self-executable installer in the dist -directory, with names similar to pyscard-1.6.12.win32-py2.5.msi and -pyscard-1.6.12.win32-py2.5.exe for python 2.5, and -pyscard-1.6.12.win32-py2.4.msi and pyscard-1.6.12.win32-py2.4.exe for +directory, with names similar to pyscard-1.6.14.win32-py2.5.msi and +pyscard-1.6.14.win32-py2.5.exe for python 2.5, and +pyscard-1.6.14.win32-py2.4.msi and pyscard-1.6.14.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -252,7 +252,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.12.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.14.linux-i686.tar.gz containing a tree Building a rpm distribution for linux @@ -274,7 +274,7 @@ echo "%_unpackaged_files_terminate_build 0" >> /etc/rpm/macros This will build in the dist directory a binary distribution with a name -similar to pyscard-1.6.12-1.i386.rpm. +similar to pyscard-1.6.14-1.i386.rpm. Building a binary distribution for Mac OS X Tiger ------------------------------------------------- @@ -291,7 +291,7 @@ python setup.py build_ext /System/Library/Frameworks/Python.Framework/Versions/2.3/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.3-macosx10.4.mpkg. +This will build package pyscard-1.6.14-py-2.3-macosx10.4.mpkg. If you are using python 2.5, in the root directory of the source distribution, i.e. in the src directory, execute the following commands in a terminal: @@ -299,7 +299,7 @@ python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.6-macosx10.4.mpkg. +This will build package pyscard-1.6.14-py-2.6-macosx10.4.mpkg. Building a binary distribution for Mac OS X Leopard @@ -348,7 +348,7 @@ python setup.py build_ext /Library/Frameworks/Python.Framework/Versions/2.5/Extras/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.5-macosx10.5.mpkg. +This will build package pyscard-1.6.14-py-2.5-macosx10.5.mpkg. For python 2.6, from the root directory of the pyscard source distribution, i.e. in the src directory, execute the following commands in a terminal: @@ -356,7 +356,7 @@ python setup.py build_ext /Library/Frameworks/Python.framework/Versions/2.6/bin/bdist_mpkg setup.py -This will build package pyscard-1.6.12-py-2.6-macosx10.5.mpkg. +This will build package pyscard-1.6.14-py-2.6-macosx10.5.mpkg. ------------------------------------------------------------------------------- Issue Tracking Modified: trunk/pyscard/src/smartcard/ReaderMonitoring.py =================================================================== --- trunk/pyscard/src/smartcard/ReaderMonitoring.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/ReaderMonitoring.py 2010-12-23 14:44:33 UTC (rev 522) @@ -8,7 +8,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/Session.py =================================================================== --- trunk/pyscard/src/smartcard/Session.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/Session.py 2010-12-23 14:44:33 UTC (rev 522) @@ -3,7 +3,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/System.py =================================================================== --- trunk/pyscard/src/smartcard/System.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/System.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "gemalto http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/__init__.py =================================================================== --- trunk/pyscard/src/smartcard/__init__.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/__init__.py 2010-12-23 14:44:33 UTC (rev 522) @@ -5,9 +5,9 @@ __author__ = "gemalto http://www.gemalto.com" __date__ = "May 2010" -__version__ = "1.6.12" +__version__ = "1.6.14" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/doc/framework-samples.html =================================================================== --- trunk/pyscard/src/smartcard/doc/framework-samples.html 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/doc/framework-samples.html 2010-12-23 14:44:33 UTC (rev 522) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.12 (August 2010) +Last update : pyscard 1.6.14 (January 2011) <p> <a href="pyscard-usersguide.html">pyscard</a> is a python module adding smart cards support to <a href="http://www.python.org">python</a>. <p>It consists of <a Modified: trunk/pyscard/src/smartcard/doc/index.html =================================================================== --- trunk/pyscard/src/smartcard/doc/index.html 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/doc/index.html 2010-12-23 14:44:33 UTC (rev 522) @@ -14,7 +14,7 @@ alt="Get pyscard at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a> </h1> <hr> - Last update : pyscard 1.6.12 (August 2010) + Last update : pyscard 1.6.14 (January 2011) <p> <a href="pyscard-usersguide.html">pyscard - python smart card library</a> is a python module adding smart cards support to <a href="http://www.python.org">python.</a> Modified: trunk/pyscard/src/smartcard/doc/scard-samples.html =================================================================== --- trunk/pyscard/src/smartcard/doc/scard-samples.html 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/doc/scard-samples.html 2010-12-23 14:44:33 UTC (rev 522) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.12 (August 2010) +Last update : pyscard 1.6.14 (January 2011) <p>Using the <a href="epydoc/index.html">smartcard framework</a> is the preferred way to write python smart card application. You can however use the <a href="epydoc/smartcard.scard.scard-module.html">smartcard.scard</a> library to write your python smart card application if you want to write your Modified: trunk/pyscard/src/smartcard/guid.py =================================================================== --- trunk/pyscard/src/smartcard/guid.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/guid.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCCardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCCardConnection.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/pcsc/PCSCCardConnection.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCCardRequest.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCCardRequest.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/pcsc/PCSCCardRequest.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCContext.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCContext.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/pcsc/PCSCContext.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCExceptions.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCExceptions.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/pcsc/PCSCExceptions.py 2010-12-23 14:44:33 UTC (rev 522) @@ -4,7 +4,7 @@ __author__ = "http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCReader.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/PCSCReader.py 2010-12-23 14:33:15 UTC (rev 521) +++ trunk/pyscard/src/smartcard/pcsc/PCSCReader.py 2010-12-23 14:44:33 UTC (rev 522) @@ -2,7 +2,7 @@ __author__ = "gemalto http://www.gemalto.com" -Copyright 2001-2010 gemalto +Copyright 2001-2011 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... This file is part of pyscard. Modified: trunk/pyscard/src/smartcard/pcsc/PCSCReaderGroups.py =================================================================== --- trunk/pyscard/src/smartcard/pcsc/... [truncated message content] |
From: <jda...@us...> - 2010-12-23 14:33:21
|
Revision: 521 http://pyscard.svn.sourceforge.net/pyscard/?rev=521&view=rev Author: jdaussel Date: 2010-12-23 14:33:15 +0000 (Thu, 23 Dec 2010) Log Message: ----------- Fixed cast warnings Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/helpers.c Modified: trunk/pyscard/src/smartcard/scard/helpers.c =================================================================== --- trunk/pyscard/src/smartcard/scard/helpers.c 2010-12-23 14:31:01 UTC (rev 520) +++ trunk/pyscard/src/smartcard/scard/helpers.c 2010-12-23 14:33:15 UTC (rev 521) @@ -187,7 +187,7 @@ build a Python byte list from a BYTELIST ==============================================================================*/ { - int cBytes, x; + Py_ssize_t cBytes, x; BYTELIST* pbl; @@ -232,7 +232,7 @@ pbl->ab=NULL; } pbl->bAllocated=TRUE; - pbl->cBytes=cBytes; + pbl->cBytes=(SCARDDWORDARG)cBytes; for( x=0; x<cBytes; x++ ) @@ -375,7 +375,7 @@ build a Python byte list from a GUIDLIST ==============================================================================*/ { - int cBytes, cGuids, x; + Py_ssize_t cBytes, cGuids, x; //int iGuid, iByte; GUIDLIST* pgl; unsigned char* p; @@ -421,7 +421,7 @@ return NULL; } pgl->bAllocated=TRUE; - pgl->cGuids=cGuids; + pgl->cGuids=(unsigned long)cGuids; pgl->hcontext=(unsigned long)NULL; // allocate GUIDs in GUID list @@ -579,7 +579,7 @@ return NULL; } - cRStates = PyList_Size(source); + cRStates = (SCARDDWORDARG)PyList_Size(source); for( x=0; x<cRStates; x++) { PyObject* o = PyList_GetItem( source, x ); @@ -983,7 +983,7 @@ will have to be freed externally to the wrapper ==============================================================================*/ { - unsigned long ulLength; + size_t ulLength; STRING* pstr=NULL; for(;;) @@ -1128,7 +1128,7 @@ build a Python string list from a STRINGLIST ==============================================================================*/ { - int cStrings, cChars, x; + Py_ssize_t cStrings, cChars, x; STRINGLIST* psl; char* p; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-12-23 14:31:07
|
Revision: 520 http://pyscard.svn.sourceforge.net/pyscard/?rev=520&view=rev Author: jdaussel Date: 2010-12-23 14:31:01 +0000 (Thu, 23 Dec 2010) Log Message: ----------- Added support for windows 64bit Modified Paths: -------------- trunk/pyscard/src/setup.py Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2010-11-30 08:11:50 UTC (rev 519) +++ trunk/pyscard/src/setup.py 2010-12-23 14:31:01 UTC (rev 520) @@ -43,6 +43,15 @@ platform_extra_compile_args = [] platform_extra_link_args = [] +elif 'win-amd64' == get_platform(): + platform__cc_defines = [('WIN32', '100')] + platform_swig_opts = ['-DWIN32'] + platform_sources = ['smartcard/scard/scard.rc'] + platform_libraries = ['winscard'] + platform_include_dirs = [] + platform_extra_compile_args = [] + platform_extra_link_args = [] + # # Mac OS X Tiger has python 2.3 preinstalled # get_platform() returns a string similar to 'darwin-8.11.1-i386' with This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-11-30 08:11:56
|
Revision: 519 http://pyscard.svn.sourceforge.net/pyscard/?rev=519&view=rev Author: ludov Date: 2010-11-30 08:11:50 +0000 (Tue, 30 Nov 2010) Log Message: ----------- Use new exception form instead of deprecated one Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-11-30 07:58:33 UTC (rev 518) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-11-30 08:11:50 UTC (rev 519) @@ -27,6 +27,7 @@ from smartcard.scard import * from smartcard.util import toASCIIBytes +from smartcard.pcsc.PCSCExceptions import * def can_do_verify_pin(hCard): @@ -44,7 +45,7 @@ CM_IOCTL_GET_FEATURE_REQUEST = SCARD_CTL_CODE(3400) hresult, response = SCardControl(hcard, CM_IOCTL_GET_FEATURE_REQUEST, []) if hresult != SCARD_S_SUCCESS: - raise error, 'SCardControl failed: ' + SCardGetErrorMessage(hresult) + raise BaseSCardException(hresult) print response while len(response) > 0: tag = response[0] @@ -57,7 +58,7 @@ if None == control: control = can_do_verify_pin(hCard) if None == control: - raise error, "Not a pinpad" + raise Exception("Not a pinpad") command = [0x00, # bTimerOut 0x00, # bTimerOut2 @@ -76,23 +77,23 @@ ] hresult, response = SCardControl(hcard, control, command) if hresult != SCARD_S_SUCCESS: - raise error, 'SCardControl failed: ' + SCardGetErrorMessage(hresult) + raise BaseSCardException(hresult) return hresult, response try: hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER) if hresult != SCARD_S_SUCCESS: - raise error, 'Failed to establish context: ' + SCardGetErrorMessage(hresult) + raise EstablishContextException(hresult) print 'Context established!' try: hresult, readers = SCardListReaders(hcontext, []) if hresult != SCARD_S_SUCCESS: - raise error, 'Failed to list readers: ' + SCardGetErrorMessage(hresult) + raise ListReadersException(hresult) print 'PCSC Readers:', readers if len(readers) < 1: - raise error, 'No smart card readers' + raise Exception("No smart card readers") for zreader in readers: @@ -103,7 +104,7 @@ hcontext, zreader, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1) if hresult != SCARD_S_SUCCESS: - raise error, 'Unable to connect: ' + SCardGetErrorMessage(hresult) + raise BaseSCardException(hresult) print 'Connected with active protocol', dwActiveProtocol try: @@ -111,7 +112,7 @@ 0x00, 0x00, 0x18, 0xFF] hresult, response = SCardTransmit(hcard, dwActiveProtocol, SELECT) if hresult != SCARD_S_SUCCESS: - raise error, 'Failed to transmit: ' + SCardGetErrorMessage(hresult) + raise BaseSCardException(hresult) cmd_verify = can_do_verify_pin(hcard) if (cmd_verify): @@ -126,7 +127,7 @@ finally: hresult = SCardDisconnect(hcard, SCARD_UNPOWER_CARD) if hresult != SCARD_S_SUCCESS: - raise error, 'Failed to disconnect: ' + SCardGetErrorMessage(hresult) + raise BaseSCardException(hresult) print 'Disconnected' except error, (message): @@ -135,7 +136,7 @@ finally: hresult = SCardReleaseContext(hcontext) if hresult != SCARD_S_SUCCESS: - raise error, 'Failed to release context: ' + SCardGetErrorMessage(hresult) + raise ReleaseContextException(hresult) print 'Released context.' except error, e: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-11-30 07:58:39
|
Revision: 518 http://pyscard.svn.sourceforge.net/pyscard/?rev=518&view=rev Author: ludov Date: 2010-11-30 07:58:33 +0000 (Tue, 30 Nov 2010) Log Message: ----------- Remove extra parenthesis Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-11-30 07:56:48 UTC (rev 517) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-11-30 07:58:33 UTC (rev 518) @@ -46,9 +46,9 @@ if hresult != SCARD_S_SUCCESS: raise error, 'SCardControl failed: ' + SCardGetErrorMessage(hresult) print response - while (len(response) > 0): + while len(response) > 0: tag = response[0] - if (feature == tag): + if feature == tag: return (((((response[2] << 8) + response[3]) << 8) + response[4]) << 8) + response[5] response = response[6:] @@ -56,7 +56,7 @@ def verifypin(hCard, control=None): if None == control: control = can_do_verify_pin(hCard) - if (None == control): + if None == control: raise error, "Not a pinpad" command = [0x00, # bTimerOut @@ -121,7 +121,7 @@ if (cmd_modify): print "can do modify pin: 0x%08X" % cmd_modify - (hresult, response) = verifypin(hcard, cmd_verify) + hresult, response = verifypin(hcard, cmd_verify) print 'Control:', response finally: hresult = SCardDisconnect(hcard, SCARD_UNPOWER_CARD) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-11-30 07:56:54
|
Revision: 517 http://pyscard.svn.sourceforge.net/pyscard/?rev=517&view=rev Author: ludov Date: 2010-11-30 07:56:48 +0000 (Tue, 30 Nov 2010) Log Message: ----------- Complete the verifypin() method to make it work Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-10-22 12:44:52 UTC (rev 516) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_pinpad.py 2010-11-30 07:56:48 UTC (rev 517) @@ -58,7 +58,23 @@ control = can_do_verify_pin(hCard) if (None == control): raise error, "Not a pinpad" - hresult, response = SCardControl(hcard, control, []) + + command = [0x00, # bTimerOut + 0x00, # bTimerOut2 + 0x82, # bmFormatString + 0x04, # bmPINBlockString + 0x00, # bmPINLengthFormat + 0x08, 0x04, # wPINMaxExtraDigit + 0x02, # bEntryValidationCondition + 0x01, # bNumberMessage + 0x04, 0x09, # wLangId + 0x00, # bMsgIndex + 0x00, 0x00, 0x00, # bTeoPrologue + 13, 0, 0, 0, # ulDataLength + 0x00, 0x20, 0x00, 0x00, 0x08, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30 # abData + ] + hresult, response = SCardControl(hcard, control, command) if hresult != SCARD_S_SUCCESS: raise error, 'SCardControl failed: ' + SCardGetErrorMessage(hresult) return hresult, response @@ -84,12 +100,19 @@ try: hresult, hcard, dwActiveProtocol = SCardConnect( - hcontext, zreader, SCARD_SHARE_DIRECT, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1) + hcontext, zreader, SCARD_SHARE_SHARED, + SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1) if hresult != SCARD_S_SUCCESS: raise error, 'Unable to connect: ' + SCardGetErrorMessage(hresult) print 'Connected with active protocol', dwActiveProtocol try: + SELECT = [0x00, 0xA4, 0x04, 0x00, 0x06, 0xA0, 0x00, + 0x00, 0x00, 0x18, 0xFF] + hresult, response = SCardTransmit(hcard, dwActiveProtocol, SELECT) + if hresult != SCARD_S_SUCCESS: + raise error, 'Failed to transmit: ' + SCardGetErrorMessage(hresult) + cmd_verify = can_do_verify_pin(hcard) if (cmd_verify): print "can do verify pin: 0x%08X" % cmd_verify @@ -99,10 +122,7 @@ print "can do modify pin: 0x%08X" % cmd_modify (hresult, response) = verifypin(hcard, cmd_verify) - r = "" - for i in xrange(len(response)): - r += "%c" % response[i] - print 'Control:', r + print 'Control:', response finally: hresult = SCardDisconnect(hcard, SCARD_UNPOWER_CARD) if hresult != SCARD_S_SUCCESS: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-10-22 12:45:05
|
Revision: 516 http://pyscard.svn.sourceforge.net/pyscard/?rev=516&view=rev Author: ludov Date: 2010-10-22 12:44:52 +0000 (Fri, 22 Oct 2010) Log Message: ----------- Remove support for SCardCancelTransaction(). It is not used on Windows and removed oin pcsc-lite >= 1.6.5 This function was not exported at the Python interface. So no regression planned. This change will just avoid a warning message on the console: Failed to load symbol for: SCardCancelTransaction, /usr/lib/libpcsclite.so.1: undefined symbol: SCardCancelTransaction! Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/winscarddll.c trunk/pyscard/src/smartcard/scard/winscarddll.h Modified: trunk/pyscard/src/smartcard/scard/winscarddll.c =================================================================== --- trunk/pyscard/src/smartcard/scard/winscarddll.c 2010-10-10 14:22:30 UTC (rev 515) +++ trunk/pyscard/src/smartcard/scard/winscarddll.c 2010-10-22 12:44:52 UTC (rev 516) @@ -463,15 +463,6 @@ } static WINSCARDAPI SCARDRETCODE -WINAPI _defaultSCARDCANCELTRANSACTION( - IN SCARDHANDLE hCard) -{ - (void)hCard; - - return SCARD_E_NO_SERVICE; -} - -static WINSCARDAPI SCARDRETCODE WINAPI _defaultSCARDCONNECTA( IN SCARDCONTEXT hContext, IN LPCTSTR szReader, @@ -651,7 +642,6 @@ SCARDBEGINTRANSACTION mySCardBeginTransaction = _defaultSCARDBEGINTRANSACTION; SCARDCANCEL mySCardCancel = _defaultSCARDCANCEL; -SCARDCANCELTRANSACTION mySCardCancelTransaction = _defaultSCARDCANCELTRANSACTION; SCARDCONNECTA mySCardConnectA = _defaultSCARDCONNECTA; SCARDCONTROL mySCardControl = _defaultSCARDCONTROL; SCARDDISCONNECT mySCardDisconnect = _defaultSCARDDISCONNECT; @@ -695,7 +685,6 @@ GETPROCADDRESS( SCARDACCESSSTARTEDEVENT , SCardAccessStartedEvent ); GETPROCADDRESS( SCARDBEGINTRANSACTION , SCardBeginTransaction ); GETPROCADDRESS( SCARDCANCEL , SCardCancel ); - GETPROCADDRESS( SCARDCANCELTRANSACTION , SCardCancelTransaction ); GETPROCADDRESS( SCARDCONNECTA , SCardConnectA ); GETPROCADDRESS( SCARDCONTROL , SCardControl ); GETPROCADDRESS( SCARDDISCONNECT , SCardDisconnect ); @@ -769,7 +758,6 @@ lRetCode=SCARD_S_SUCCESS; GETPROCADDRESS( SCARDBEGINTRANSACTION , SCardBeginTransaction , SCardBeginTransaction ); GETPROCADDRESS( SCARDCANCEL , SCardCancel , SCardCancel ); - GETPROCADDRESS( SCARDCANCELTRANSACTION , SCardCancelTransaction , SCardCancelTransaction ); GETPROCADDRESS( SCARDCONNECTA , SCardConnectA , SCardConnect ); GETPROCADDRESS( SCARDDISCONNECT , SCardDisconnect , SCardDisconnect ); GETPROCADDRESS( SCARDENDTRANSACTION , SCardEndTransaction , SCardEndTransaction ); Modified: trunk/pyscard/src/smartcard/scard/winscarddll.h =================================================================== --- trunk/pyscard/src/smartcard/scard/winscarddll.h 2010-10-10 14:22:30 UTC (rev 515) +++ trunk/pyscard/src/smartcard/scard/winscarddll.h 2010-10-22 12:44:52 UTC (rev 516) @@ -348,7 +348,6 @@ extern SCARDBEGINTRANSACTION mySCardBeginTransaction; extern SCARDCANCEL mySCardCancel; -extern SCARDCANCELTRANSACTION mySCardCancelTransaction; extern SCARDCONNECTA mySCardConnectA; extern SCARDCONTROL mySCardControl; extern SCARDDISCONNECT mySCardDisconnect; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-10-10 14:22:37
|
Revision: 515 http://pyscard.svn.sourceforge.net/pyscard/?rev=515&view=rev Author: ludov Date: 2010-10-10 14:22:30 +0000 (Sun, 10 Oct 2010) Log Message: ----------- Display the card State in hex to clearly see the event counter value in the upper word Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py Modified: trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py 2010-08-18 16:34:17 UTC (rev 514) +++ trunk/pyscard/src/smartcard/Examples/scard-api/sample_getATR.py 2010-10-10 14:22:30 UTC (rev 515) @@ -59,7 +59,7 @@ if hresult != SCARD_S_SUCCESS: print 'failed to get status: ' + SCardGetErrorMessage(hresult) print 'Reader:', reader - print 'State:', state + print 'State:', hex(state) print 'Protocol:', protocol print 'ATR:', smartcard.util.toHexString(atr, smartcard.util.HEX) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 16:34:23
|
Revision: 514 http://pyscard.svn.sourceforge.net/pyscard/?rev=514&view=rev Author: jdaussel Date: 2010-08-18 16:34:17 +0000 (Wed, 18 Aug 2010) Log Message: ----------- Tagging the 1.6.12 release of pyscard. Added Paths: ----------- tags/release-1.6.12/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 16:33:49
|
Revision: 513 http://pyscard.svn.sourceforge.net/pyscard/?rev=513&view=rev Author: jdaussel Date: 2010-08-18 16:33:43 +0000 (Wed, 18 Aug 2010) Log Message: ----------- Prepare tagging for 1.6.12 Modified Paths: -------------- trunk/pyscard/sourceforge/tag-it.bat Modified: trunk/pyscard/sourceforge/tag-it.bat =================================================================== --- trunk/pyscard/sourceforge/tag-it.bat 2010-08-18 15:19:53 UTC (rev 512) +++ trunk/pyscard/sourceforge/tag-it.bat 2010-08-18 16:33:43 UTC (rev 513) @@ -1,2 +1,2 @@ rem just change the release number for creating a new tag -svn copy https://pyscard.svn.sourceforge.net/svnroot/pyscard/trunk https://pyscard.svn.sourceforge.net/svnroot/pyscard/tags/release-1.6.10 -m "Tagging the 1.6.10 release of pyscard." +svn copy https://pyscard.svn.sourceforge.net/svnroot/pyscard/trunk https://pyscard.svn.sourceforge.net/svnroot/pyscard/tags/release-1.6.12 -m "Tagging the 1.6.12 release of pyscard." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 15:19:59
|
Revision: 512 http://pyscard.svn.sourceforge.net/pyscard/?rev=512&view=rev Author: jdaussel Date: 2010-08-18 15:19:53 +0000 (Wed, 18 Aug 2010) Log Message: ----------- Have get_python_lib(1) return arch specific directory, e.g. usr/lib64/python2.6 Modified Paths: -------------- trunk/pyscard/tools/commands/uninstall.py Modified: trunk/pyscard/tools/commands/uninstall.py =================================================================== --- trunk/pyscard/tools/commands/uninstall.py 2010-08-18 15:03:25 UTC (rev 511) +++ trunk/pyscard/tools/commands/uninstall.py 2010-08-18 15:19:53 UTC (rev 512) @@ -42,6 +42,6 @@ print 'deleting ', path os.rmdir(path) -smartcardpackagedir = os.path.join(get_python_lib(), 'smartcard') +smartcardpackagedir = os.path.join(get_python_lib(1), 'smartcard') if os.path.exists(smartcardpackagedir): _rmdir(smartcardpackagedir) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 15:03:31
|
Revision: 511 http://pyscard.svn.sourceforge.net/pyscard/?rev=511&view=rev Author: jdaussel Date: 2010-08-18 15:03:25 +0000 (Wed, 18 Aug 2010) Log Message: ----------- readers() is now a static method of PCSCReader class Modified Paths: -------------- trunk/pyscard/src/smartcard/test/frameworkpcsc/testcase_pcscreadergroups.py Modified: trunk/pyscard/src/smartcard/test/frameworkpcsc/testcase_pcscreadergroups.py =================================================================== --- trunk/pyscard/src/smartcard/test/frameworkpcsc/testcase_pcscreadergroups.py 2010-08-18 13:47:59 UTC (rev 510) +++ trunk/pyscard/src/smartcard/test/frameworkpcsc/testcase_pcscreadergroups.py 2010-08-18 15:03:25 UTC (rev 511) @@ -43,7 +43,7 @@ from smartcard.pcsc.PCSCReaderGroups import PCSCReaderGroups -from smartcard.pcsc.PCSCReader import readers +from smartcard.pcsc.PCSCReader import PCSCReader from smartcard.scard import resourceManager if 'winscard' == resourceManager: @@ -130,25 +130,25 @@ groups = PCSCReaderGroups() newgroup = 'Pinpad$Readers' groups.insert(0, newgroup) - for r in readers('SCard$DefaultReaders'): + for r in PCSCReader.readers('SCard$DefaultReaders'): r.addtoreadergroup(newgroup) - self.assertEquals(readers('SCard$DefaultReaders'), readers(newgroup)) + self.assertEquals(PCSCReader.readers('SCard$DefaultReaders'), PCSCReader.readers(newgroup)) groups.pop(0) - self.assertEquals([], readers(newgroup)) + self.assertEquals([], PCSCReader.readers(newgroup)) def testcase_removereaderfromgroup(self): """Test for removing readers from group""" groups = PCSCReaderGroups() newgroup = 'Pinpad$Readers' groups.insert(0, newgroup) - for r in readers('SCard$DefaultReaders'): + for r in PCSCReader.readers('SCard$DefaultReaders'): r.addtoreadergroup(newgroup) - self.assertEquals(readers('SCard$DefaultReaders'), readers(newgroup)) - for r in readers('SCard$DefaultReaders'): + self.assertEquals(PCSCReader.readers('SCard$DefaultReaders'), PCSCReader.readers(newgroup)) + for r in PCSCReader.readers('SCard$DefaultReaders'): r.removefromreadergroup(newgroup) - self.assertEquals([], readers(newgroup)) + self.assertEquals([], PCSCReader.readers(newgroup)) groups.pop(0) - self.assertEquals([], readers(newgroup)) + self.assertEquals([], PCSCReader.readers(newgroup)) def suite(): suite1 = unittest.makeSuite(testcase_readergroups) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 13:48:05
|
Revision: 510 http://pyscard.svn.sourceforge.net/pyscard/?rev=510&view=rev Author: jdaussel Date: 2010-08-18 13:47:59 +0000 (Wed, 18 Aug 2010) Log Message: ----------- Prepare for release 1.6.12 Modified Paths: -------------- trunk/pyscard/src/README trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/README trunk/pyscard/src/smartcard/TODO trunk/pyscard/src/smartcard/doc/framework-samples.html trunk/pyscard/src/smartcard/doc/index.html trunk/pyscard/src/smartcard/doc/scard-samples.html trunk/pyscard/tools/vslick/pyscard.vpj Modified: trunk/pyscard/src/README =================================================================== --- trunk/pyscard/src/README 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/README 2010-08-18 13:47:59 UTC (rev 510) @@ -23,7 +23,7 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.12 (July 2010) +Last update : pyscard 1.6.12 (August 2010) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -61,7 +61,7 @@ The binary msi installer and self-executable installer are packaged for a specific version of python, and have name similar to -pyscard-1.6.10.win32-py2.5.msi and pyscard-1.6.10.win32-py2.5.exe for +pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for python 2.5. @@ -77,8 +77,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip for windows, -and pyscard-1.6.10.tar.gz for linux. +The source distribution is available as pyscard-1.6.12.zip for windows, +and pyscard-1.6.12.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -100,7 +100,7 @@ The binary distribution is either an archive file or a rpm file, with names similar to pyscard-1.6.12-1.i386.rpm for the rpm distribution, -or pyscard-1.6.10.linux-i686.tar.gz for the archive distribution. +or pyscard-1.6.12.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -115,8 +115,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar the source distribution @@ -130,7 +130,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.10. It was developed +The Mac OS X Tiger support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -157,8 +157,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution @@ -173,7 +173,7 @@ Installation on Max OS X Leopard: --------------------------------- -The Mac OS X Leopard support is experimental on pyscard 1.6.10. It was developed +The Mac OS X Leopard support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -195,8 +195,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution @@ -235,9 +235,9 @@ setup.py build_ext bdist_wininst This will build the msi installer and self-executable installer in the dist -directory, with names similar to pyscard-1.6.10.win32-py2.5.msi and -pyscard-1.6.10.win32-py2.5.exe for python 2.5, and -pyscard-1.6.10.win32-py2.4.msi and pyscard-1.6.10.win32-py2.4.exe for +directory, with names similar to pyscard-1.6.12.win32-py2.5.msi and +pyscard-1.6.12.win32-py2.5.exe for python 2.5, and +pyscard-1.6.12.win32-py2.4.msi and pyscard-1.6.12.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -252,7 +252,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.10.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.12.linux-i686.tar.gz containing a tree Building a rpm distribution for linux Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/ChangeLog 2010-08-18 13:47:59 UTC (rev 510) @@ -1,8 +1,12 @@ -1.6.12 (July 2010) +1.6.12 (August 2010) =================== * comply with PEP 8 (Ludovic Rousseau) * comply with PEP 352 (Jean-Daniel Aussel) + * support of pcsclite 1.6 and deprecated LPSCARD_READERSTATE_A (Ludovic Rousseau) + * support of py2exe scripts for wxWindows examples (Jean-Daniel Aussel) + * partial support of remote pcsc readers with pyro (Jean-Daniel Aussel) + 1.6.10 (May 2010) =================== * connect() has a new disposition parameter that is passed to SCardDisconnect (Ludovic Rousseau) Modified: trunk/pyscard/src/smartcard/README =================================================================== --- trunk/pyscard/src/smartcard/README 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/README 2010-08-18 13:47:59 UTC (rev 510) @@ -23,7 +23,7 @@ Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.12 (July 2010) +Last update : pyscard 1.6.12 (August 2010) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -61,7 +61,7 @@ The binary msi installer and self-executable installer are packaged for a specific version of python, and have name similar to -pyscard-1.6.10.win32-py2.5.msi and pyscard-1.6.10.win32-py2.5.exe for +pyscard-1.6.12.win32-py2.5.msi and pyscard-1.6.12.win32-py2.5.exe for python 2.5. @@ -77,8 +77,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip for windows, -and pyscard-1.6.10.tar.gz for linux. +The source distribution is available as pyscard-1.6.12.zip for windows, +and pyscard-1.6.12.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -100,7 +100,7 @@ The binary distribution is either an archive file or a rpm file, with names similar to pyscard-1.6.12-1.i386.rpm for the rpm distribution, -or pyscard-1.6.10.linux-i686.tar.gz for the archive distribution. +or pyscard-1.6.12.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -115,8 +115,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar the source distribution @@ -130,7 +130,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.10. It was developed +The Mac OS X Tiger support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -157,8 +157,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution @@ -173,7 +173,7 @@ Installation on Max OS X Leopard: --------------------------------- -The Mac OS X Leopard support is experimental on pyscard 1.6.10. It was developed +The Mac OS X Leopard support is experimental on pyscard 1.6.12. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -195,8 +195,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.10.zip or -pyscard-1.6.10.tar.gz. +The source distribution is available as pyscard-1.6.12.zip or +pyscard-1.6.12.tar.gz. 3. untar or unzip the source distribution @@ -235,9 +235,9 @@ setup.py build_ext bdist_wininst This will build the msi installer and self-executable installer in the dist -directory, with names similar to pyscard-1.6.10.win32-py2.5.msi and -pyscard-1.6.10.win32-py2.5.exe for python 2.5, and -pyscard-1.6.10.win32-py2.4.msi and pyscard-1.6.10.win32-py2.4.exe for +directory, with names similar to pyscard-1.6.12.win32-py2.5.msi and +pyscard-1.6.12.win32-py2.5.exe for python 2.5, and +pyscard-1.6.12.win32-py2.4.msi and pyscard-1.6.12.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -252,7 +252,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.10.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.12.linux-i686.tar.gz containing a tree Building a rpm distribution for linux Modified: trunk/pyscard/src/smartcard/TODO =================================================================== --- trunk/pyscard/src/smartcard/TODO 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/TODO 2010-08-18 13:47:59 UTC (rev 510) @@ -1,3 +1,7 @@ +- complete support of remote readers with Pyro and add in documentation + +- document construction of standalone windows application using py2exe + - documentation and implementation of card services - documentation of CardConnectionDecorator; add a meaningful example (OP secure channel?) Modified: trunk/pyscard/src/smartcard/doc/framework-samples.html =================================================================== --- trunk/pyscard/src/smartcard/doc/framework-samples.html 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/doc/framework-samples.html 2010-08-18 13:47:59 UTC (rev 510) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.12 (May 2010) +Last update : pyscard 1.6.12 (August 2010) <p> <a href="pyscard-usersguide.html">pyscard</a> is a python module adding smart cards support to <a href="http://www.python.org">python</a>. <p>It consists of <a Modified: trunk/pyscard/src/smartcard/doc/index.html =================================================================== --- trunk/pyscard/src/smartcard/doc/index.html 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/doc/index.html 2010-08-18 13:47:59 UTC (rev 510) @@ -14,7 +14,7 @@ alt="Get pyscard at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a> </h1> <hr> - Last update : pyscard 1.6.12 (May 2010) + Last update : pyscard 1.6.12 (August 2010) <p> <a href="pyscard-usersguide.html">pyscard - python smart card library</a> is a python module adding smart cards support to <a href="http://www.python.org">python.</a> Modified: trunk/pyscard/src/smartcard/doc/scard-samples.html =================================================================== --- trunk/pyscard/src/smartcard/doc/scard-samples.html 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/src/smartcard/doc/scard-samples.html 2010-08-18 13:47:59 UTC (rev 510) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.12 (May 2010) +Last update : pyscard 1.6.12 (August 2010) <p>Using the <a href="epydoc/index.html">smartcard framework</a> is the preferred way to write python smart card application. You can however use the <a href="epydoc/smartcard.scard.scard-module.html">smartcard.scard</a> library to write your python smart card application if you want to write your Modified: trunk/pyscard/tools/vslick/pyscard.vpj =================================================================== --- trunk/pyscard/tools/vslick/pyscard.vpj 2010-08-18 13:40:51 UTC (rev 509) +++ trunk/pyscard/tools/vslick/pyscard.vpj 2010-08-18 13:47:59 UTC (rev 510) @@ -161,6 +161,22 @@ <F N="../../src/smartcard/wx/SimpleSCardAppEventObserver.py"/> <F N="../../src/smartcard/wx/SimpleSCardAppFrame.py"/> </Folder> + <Folder + Name="smartcard.pyro" + Filters=""> + <Folder + Name="smartcard.pyro.server" + Filters=""> + <F N="../../src/smartcard/pyro/server/__init__.py"/> + <F N="../../src/smartcard/pyro/server/PyroDaemon.py"/> + <F N="../../src/smartcard/pyro/server/PyroEventServer.py"/> + <F N="../../src/smartcard/pyro/server/PyroNameServer.py"/> + <F N="../../src/smartcard/pyro/server/RemoteCardConnection.py"/> + <F N="../../src/smartcard/pyro/server/RemoteReaderServer.py"/> + </Folder> + <F N="../../src/smartcard/pyro/__init__.py"/> + <F N="../../src/smartcard/pyro/PyroReader.py"/> + </Folder> </Folder> </Folder> <Folder @@ -254,6 +270,7 @@ Filters=""> <F N="../../src/smartcard/Examples/wx/apdumanager/apdumanager.py"/> <F N="../../src/smartcard/Examples/wx/apdumanager/SampleAPDUManagerPanel.py"/> + <F N="../../src/smartcard/Examples/wx/apdumanager/setup.py"/> </Folder> <Folder Name="simple" @@ -265,6 +282,7 @@ Name="cardmonitor" Filters=""> <F N="../../src/smartcard/Examples/wx/cardmonitor/cardmonitor.py"/> + <F N="../../src/smartcard/Examples/wx/cardmonitor/setup.py"/> </Folder> <Folder Name="pcscdiag" @@ -307,6 +325,7 @@ Name="readerviewer" Filters=""> <F N="../../src/smartcard/Examples/wx/readerviewer/readerviewer.py"/> + <F N="../../src/smartcard/Examples/wx/readerviewer/setup.py"/> </Folder> </Folder> <Folder This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-18 13:40:58
|
Revision: 509 http://pyscard.svn.sourceforge.net/pyscard/?rev=509&view=rev Author: jdaussel Date: 2010-08-18 13:40:51 +0000 (Wed, 18 Aug 2010) Log Message: ----------- Added partial support of remote pcsc readers with pyro Added Paths: ----------- trunk/pyscard/src/smartcard/pyro/ trunk/pyscard/src/smartcard/pyro/PyroReader.py trunk/pyscard/src/smartcard/pyro/__init__.py trunk/pyscard/src/smartcard/pyro/server/ trunk/pyscard/src/smartcard/pyro/server/PyroDaemon.py trunk/pyscard/src/smartcard/pyro/server/PyroEventServer.py trunk/pyscard/src/smartcard/pyro/server/PyroNameServer.py trunk/pyscard/src/smartcard/pyro/server/RemoteCardConnection.py trunk/pyscard/src/smartcard/pyro/server/RemoteReaderServer.py trunk/pyscard/src/smartcard/pyro/server/__init__.py Added: trunk/pyscard/src/smartcard/pyro/PyroReader.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/PyroReader.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/PyroReader.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,90 @@ +"""PyroReaderClient: concrete reader class for Remote Readers + +__author__ = "gemalto http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import Pyro.core +import Pyro.naming + +from smartcard.Exceptions import CardConnectionException, NoCardException +from smartcard.reader.Reader import Reader +from smartcard.reader.ReaderFactory import ReaderFactory + +class PyroReader(Reader): + """Remote reader class.""" + def __init__( self, readername ): + """Constructs a new Remote Reader client implementation from a Pyro URI.""" + ns=Pyro.naming.NameServerLocator().getNS() + self.uri = ns.resolve(':pyscard.smartcard.readers.'+readername) + self.reader = Pyro.core.getAttrProxyForURI(self.uri) + self.name = self.reader.name + + def addtoreadergroup( self, groupname ): + """Add reader to a reader group.""" + self.reader.addtoreadergroup( groupname ) + + def removefromreadergroup( self, groupname ): + """Remove a reader from a reader group""" + self.reader.removefromreadergroup( groupname ) + + def createConnection( self ): + """Return a card connection thru a remote reader.""" + uri = self.reader.createConnection() + return Pyro.core.getAttrProxyForURI(uri) + + class Factory: + def create(readername): + return PyroReader( readername ) + create = staticmethod(create) + + def readers(groups=[]): + readernames = [] + try: + ns=Pyro.naming.NameServerLocator().getNS() + readernames = ns.list(':pyscard.smartcard.readers') + except Pyro.errors.NamingError: + print 'Warning: pyro name server not found' + + remotereaders=[] + for readername in readernames: + remotereaders.append( PyroReader.Factory.create(readername[0]) ) + + return remotereaders + readers = staticmethod(readers) + +if __name__ == '__main__': + SELECT = [0xA0, 0xA4, 0x00, 0x00, 0x02] + DF_TELECOM = [0x7F, 0x10] + from smartcard.util import * + + remotereaders = PyroReader.readers() + for reader in remotereaders: + try: + print reader.name, ', uri: ', reader.uri + connection = reader.createConnection() + connection.connect() + print toHexString( connection.getATR() ) + data, sw1, sw2 = connection.transmit(SELECT + DF_TELECOM) + print "%X %X" % (sw1, sw2) + except NoCardException,x: + print 'no card in reader' + Added: trunk/pyscard/src/smartcard/pyro/__init__.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/__init__.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/__init__.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1 @@ + Added: trunk/pyscard/src/smartcard/pyro/server/PyroDaemon.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/PyroDaemon.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/PyroDaemon.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,92 @@ +"""PyroDaemon: Wrapper class around pyro daemon + +__author__ = "gemalto http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import signal +from threading import Thread +import time + +import Pyro.core +import Pyro.naming + +class PyroDaemon: + """Singleton class to wrap the pyro daemon.""" + + class _PyroDaemon: + """The pyro daemon actual wrapper class. + + A single instance of this class is created + by the public PyroDaemon class. + """ + def __init__(self): + self.daemon = Pyro.core.Daemon() + self.handler = signal.signal( signal.SIGINT, self ) + ns=Pyro.naming.NameServerLocator().getNS() + self.daemon.useNameServer(ns) + + def __call__(self, signame, sf): + """Ctrl+c handler that will gracefully shutdown the server + upon Ctrl+C signal""" + print 'PyroDaemon Ctrl+C handler' + self.daemon.shutdown(True) + time.sleep(1) + self.handler( signame, sf ) + + def connect(self,object,name=None): + return self.daemon.connect(object,name) + + def disconnect(self,object): + return self.daemon.disconnect(object) + + def start(self): + """start pyro daemon.""" + self.daemon.requestLoop() + + # the singleton + instance = None + + def __init__(self): + if not PyroDaemon.instance: + PyroDaemon.instance = PyroDaemon._PyroDaemon() + + def __getattr__( self, name ): + return getattr( self.instance, name ) + +class PyroDaemonThread(Thread): + """Thread running the Pyro daemon server. + """ + + def __init__(self): + """Initialize pyro event server with command line arguments. + For a complete list of command line arguments, see pyro documentation + for pyro-es start script.""" + Thread.__init__( self ) + self.setDaemon( True ) + self.setName( 'smartcard.pyro.server.PyroDaemonThread' ) + self.daemon = PyroDaemon() + + def run(self): + """Starts Pyro daemon.""" + self.daemon.start() + + Added: trunk/pyscard/src/smartcard/pyro/server/PyroEventServer.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/PyroEventServer.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/PyroEventServer.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,103 @@ +"""Utility class to start/stop Pyro Event Server. + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import signal +import sys +from threading import Thread +import time + +import Pyro.EventService.Server +import Pyro.naming +import Pyro.nsc +import Pyro.util + +class PyroEventServer(Thread): + """Thread running the Pyro Event server. + """ + + def __init__(self,args=[]): + """Initialize pyro event server with command line arguments. + For a complete list of command line arguments, see pyro documentation + for pyro-es start script.""" + Thread.__init__( self ) + self.setDaemon( True ) + self.setName( 'smartcard.pyro.server.PyroEventServer' ) + self.args = args + self.handler = signal.signal( signal.SIGINT, self ) + self.starter = None + + def run(self): + """Starts Pyro naming server with command line arguments (see pyro documentation) + """ + args=[] + for arg in self.args: args.append(arg) + Args = Pyro.util.ArgParser() + Args.parse(args,'hkmrvxn:p:b:c:d:s:i:1:2:') + + hostname = Args.getOpt('n',None) + identification = Args.getOpt('i',None) + port = None + useNameServer = True + + if port: + port=int(port) + norange = (port==0) + + self.starter = Pyro.EventService.Server.EventServiceStarter(identification=identification) + self.starter.start(hostname,port,useNameServer=useNameServer,norange=norange) + + def stop(self): + """Shutdown pyro event server.""" + pass + + def waitStarted(self): + """wait until name server is started.""" + started = False + while not started: + if self.starter!=None: + started = self.starter.waitUntilStarted(0.5) + + def __call__(self, signame, sf): + """Ctrl+c handler that will gracefully shutdown the server + upon Ctrl+C signal""" + print 'PyroEventServer Ctrl+C handler' + self.stop() + time.sleep(1) + self.handler( signame, sf ) + + +if __name__ == '__main__': + import sys + from smartcard.pyro.server.PyroNameServer import PyroNameServer + pn = PyroNameServer(sys.argv[1:]) + pn.start() + pn.waitStarted() + pe = PyroEventServer(sys.argv[1:]) + pe.start() + pe.waitStarted() + pn.listall() + pe.stop() + pn.stop() + + Added: trunk/pyscard/src/smartcard/pyro/server/PyroNameServer.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/PyroNameServer.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/PyroNameServer.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,118 @@ +"""Utility class to start/stop Pyro Name Server. + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import signal +import sys +from threading import Thread +import time + +import Pyro.naming +import Pyro.nsc +import Pyro.util + +class PyroNameServer(Thread): + """Thread running the Pyro Name server. + """ + + def __init__(self,args=[]): + """Initialize pyro name server with command line arguments. + For a complete list of command line arguments, see pyro documentation + for pyro-ns start script.""" + Thread.__init__( self ) + self.setDaemon( True ) + self.setName( 'smartcard.pyro.server.PyroNameServer' ) + self.args = args + self.handler = signal.signal( signal.SIGINT, self ) + + _args=[] + for arg in self.args: _args.append(arg) + Args = Pyro.util.ArgParser() + Args.parse(_args,'hkmrvxn:p:b:c:d:s:i:1:2:') + self.host = Args.getOpt('n',None) + self.bcport = Args.getOpt('b',None) + self.bcaddr = Args.getOpt('c',None) + self.identification = Args.getOpt('i',None) + + def getShutdownArgs(self): + """return command line arguments for shutting down the + server; this command line is built from the name server + startup arguments.""" + shutdownArgs = [] + if self.host: shutdownArgs += [ '-h', self.host ] + if self.bcport: shutdownArgs += [ '-p', self.bcport ] + if self.bcaddr: shutdownArgs += [ '-c', self.bcaddr ] + if self.identification: shutdownArgs += [ '-i', self.identification ] + + return shutdownArgs + + def listall(self): + """List pyro namespace.""" + args = self.getShutdownArgs() + ['listall'] + Pyro.nsc.main( args ) + + def ping(self): + """Ping pyro naming server.""" + args = self.getShutdownArgs() + ['ping'] + Pyro.nsc.main( args ) + + def run(self): + """Starts Pyro naming server with command line arguments (see pyro documentation) + """ + args=[] + for arg in self.args: args.append(arg) + Pyro.naming.main( args ) + + def stop(self): + """Shutdown pyro naming server.""" + args = self.getShutdownArgs() + ['shutdown'] + Pyro.nsc.main( args ) + self.join() + + def waitStarted(self): + """wait until name server is started.""" + ns = None + while not ns: + try: + time.sleep(3) + ns=Pyro.naming.NameServerLocator(identification=self.identification).getNS() + except Pyro.errors.NamingError as er: + pass + + def __call__(self, signame, sf): + """Ctrl+c handler that will gracefully shutdown the server + upon Ctrl+C signal""" + print 'PyroNameServer Ctrl+C handler' + self.stop() + time.sleep(1) + self.handler( signame, sf ) + + +if __name__ == '__main__': + import sys + pt = PyroNameServer( sys.argv[1:] ) + pt.start() + pt.waitStarted() + pt.stop() + + Added: trunk/pyscard/src/smartcard/pyro/server/RemoteCardConnection.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/RemoteCardConnection.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/RemoteCardConnection.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,44 @@ +"""RemoteCardConnection class manages connections to a remote reader +thru pyro (http://www.xs4all.nl/~irmen/pyro3/). + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +import Pyro.core +import Pyro.naming + +from smartcard.CardConnection import CardConnection +from smartcard.CardConnectionDecorator import CardConnectionDecorator +from smartcard.Exceptions import CardConnectionException, NoCardException +from smartcard.Observer import Observable + +class RemoteCardConnection(CardConnectionDecorator,Pyro.core.ObjBase): + """Remote connection class. Handles connection with a card inserted inside a remote PC.""" + + def __init__(self, cardConnectionComponent): + """Construct a new remote card connection. + + connection: the reader connection + """ + Pyro.core.ObjBase.__init__(self) + CardConnectionDecorator.__init__( self, cardConnectionComponent ) + Added: trunk/pyscard/src/smartcard/pyro/server/RemoteReaderServer.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/RemoteReaderServer.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/RemoteReaderServer.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1,121 @@ +"""RemoteReaderServer: monitor local readers and publish them as pyro +Remote Readers. + +__author__ = "gemalto http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +try: + import Pyro.core + import Pyro.naming +except: + print 'You need pyro (python remote objects) at http://www.xs4all.nl/~irmen/pyro3/' + import sys + sys.exit() + +import signal +import time + +import smartcard.System +from smartcard.reader.Reader import Reader +from smartcard.ReaderMonitoring import ReaderMonitor, ReaderObserver +from smartcard.pyro.server.RemoteCardConnection import RemoteCardConnection +from smartcard.pyro.server import PyroDaemon +from smartcard.pyro.server import PyroNameServer + +class RemoteReader(Reader,Pyro.core.ObjBase): + """Remote reader class that embeds a local reader.""" + + def __init__(self,reader): + """Encapsulate a local reader and publish as a pyro remote reader. + + reader: the local reader to publish remotely + """ + Pyro.core.ObjBase.__init__(self) + self.readerobj = reader + self.name = reader.name + + def addtoreadergroup( self, groupname ): + """Add reader to a reader group.""" + self.readerobj.reader.addtoreadergroup( groupname ) + + def removefromreadergroup( self, groupname ): + """Remove a reader from a reader group""" + self.readerobj.reader.removefromreadergroup( groupname ) + + def createConnection( self ): + """Return a card connection thru the reader.""" + connection = RemoteCardConnection( self.readerobj.createConnection() ) + daemon = PyroDaemon.PyroDaemon() + uri = daemon.connect(connection) + return uri + + + +class RemoteReaderServer(ReaderObserver): + """Monitor local readers, and publish them as remote pyro readers. + """ + def __init__(self): + """Starts pyro name server and constructs reader name space.""" + self.pn = PyroNameServer.PyroNameServer() + self.pn.start() + self.pn.waitStarted() + + Pyro.core.initServer() + self.ns=Pyro.naming.NameServerLocator().getNS() + try: + self.ns.createGroup(':pyscard') + self.ns.createGroup(':pyscard.smartcard') + self.ns.createGroup(':pyscard.smartcard.readers') + except Pyro.errors.NamingError as error: + print error + self.daemon = PyroDaemon.PyroDaemon() + self.remotereaders = {} + + def start(self): + """Start pyro daemon and accept incoming requests.""" + self.daemon.start() + + + def update(self, observable, (addedreaders, removedreaders)): + """Called when a local reader is added or removed. + Create remote pyro reader objects for added readers. + Delete remote pyro reader objects for removed readers.""" + for reader in addedreaders: + remotereader = RemoteReader(reader) + self.remotereaders[reader.name] = remotereader + name = "".join(reader.name.split(' ')) + name = ":pyscard.smartcard.readers."+"".join(name.split('.')) + uri = self.daemon.connect(remotereader,name) + for reader in removedreaders: + remotereader = self.remotereaders[reader.name] + self.daemon.disconnect(remotereader) + del self.remotereaders[reader.name] + self.pn.listall() + + +if __name__ == '__main__': + readerserver = RemoteReaderServer() + readermonitor = ReaderMonitor() + readermonitor.addObserver(readerserver) + print 'Reader remote server up and running', + print 'Please enter Ctrl+C to stop and exit...' + readerserver.start() Added: trunk/pyscard/src/smartcard/pyro/server/__init__.py =================================================================== --- trunk/pyscard/src/smartcard/pyro/server/__init__.py (rev 0) +++ trunk/pyscard/src/smartcard/pyro/server/__init__.py 2010-08-18 13:40:51 UTC (rev 509) @@ -0,0 +1 @@ + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-08-18 11:49:11
|
Revision: 508 http://pyscard.svn.sourceforge.net/pyscard/?rev=508&view=rev Author: ludov Date: 2010-08-18 11:49:05 +0000 (Wed, 18 Aug 2010) Log Message: ----------- LPSCARD_READERSTATE_A is no more defined by pcsc-lite >= 1.6.2 Modified Paths: -------------- trunk/pyscard/src/smartcard/scard/winscarddll.h Modified: trunk/pyscard/src/smartcard/scard/winscarddll.h =================================================================== --- trunk/pyscard/src/smartcard/scard/winscarddll.h 2010-08-17 15:03:12 UTC (rev 507) +++ trunk/pyscard/src/smartcard/scard/winscarddll.h 2010-08-18 11:49:05 UTC (rev 508) @@ -39,7 +39,7 @@ #define WINAPI #define IN #define OUT - #define LPSCARD_READERSTATEA LPSCARD_READERSTATE_A + #define LPSCARD_READERSTATEA SCARD_READERSTATE * #define SCARD_AUTOALLOCATE (DWORD)(-1) #ifndef FALSE #define FALSE (0==1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2010-08-17 15:03:18
|
Revision: 507 http://pyscard.svn.sourceforge.net/pyscard/?rev=507&view=rev Author: jdaussel Date: 2010-08-17 15:03:12 +0000 (Tue, 17 Aug 2010) Log Message: ----------- Added support for py2exe Modified Paths: -------------- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py Added Paths: ----------- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py Modified: trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py 2010-08-03 14:22:04 UTC (rev 506) +++ trunk/pyscard/src/smartcard/Examples/wx/apdumanager/apdumanager.py 2010-08-17 15:03:12 UTC (rev 507) @@ -24,18 +24,38 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA """ +import os +import sys import os.path from smartcard.wx.SimpleSCardApp import * from SampleAPDUManagerPanel import SampleAPDUManagerPanel +def we_are_frozen(): + """Returns whether we are frozen via py2exe. + This will affect how we find out where we are located. + From WhereAmI page on py2exe wiki.""" + + return hasattr(sys, "frozen") + + +def module_path(): + """ This will get us the program's directory, + even if we are frozen using py2exe. From WhereAmI page on py2exe wiki.""" + + + if we_are_frozen(): + return os.path.dirname( unicode(sys.executable, sys.getfilesystemencoding( )) ) + + return os.path.dirname(unicode(__file__, sys.getfilesystemencoding( ))) + def main(argv): app = SimpleSCardApp( appname='A tool to send apdu to a card', apppanel=SampleAPDUManagerPanel, appstyle=TR_SMARTCARD | TR_READER | PANEL_APDUTRACER, - appicon=os.path.join(os.path.dirname(__file__), 'images', 'mysmartcard.ico'), + appicon=os.path.join( module_path(), 'images', 'mysmartcard.ico'), size=(800, 600)) app.MainLoop() Added: trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py (rev 0) +++ trunk/pyscard/src/smartcard/Examples/wx/apdumanager/setup.py 2010-08-17 15:03:12 UTC (rev 507) @@ -0,0 +1,44 @@ +#! /usr/bin/env python +""" +Setup script to build a standalone apdumanager.exe executable on windows +using py2exe. Run: python.exe setup.py py2exe, to build executable file. + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +from distutils.core import setup +import py2exe + +from smartcard.wx import ICO_SMARTCARD, ICO_READER + +Mydata_files = [('images', ['images/mysmartcard.ico', ICO_SMARTCARD, ICO_READER ])] + + +setup( windows=['apdumanager.py'], + data_files = Mydata_files, + options = + { + "py2exe":{"dll_excludes":["MSVCP90.dll"]} + } + ) + + Modified: trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2010-08-03 14:22:04 UTC (rev 506) +++ trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/cardmonitor.py 2010-08-17 15:03:12 UTC (rev 507) @@ -25,12 +25,31 @@ """ import os.path +import sys from smartcard.wx.SimpleSCardApp import * from smartcard.wx.SimpleSCardAppEventObserver import SimpleSCardAppEventObserver ID_TEXT = 10000 +def we_are_frozen(): + """Returns whether we are frozen via py2exe. + This will affect how we find out where we are located. + From WhereAmI page on py2exe wiki.""" + return hasattr(sys, "frozen") + + +def module_path(): + """ This will get us the program's directory, + even if we are frozen using py2exe. From WhereAmI page on py2exe wiki.""" + + + if we_are_frozen(): + return os.path.dirname( unicode(sys.executable, sys.getfilesystemencoding( )) ) + + return os.path.dirname(unicode(__file__, sys.getfilesystemencoding( ))) + + class SamplePanel(wx.Panel, SimpleSCardAppEventObserver): '''A simple panel that displays activated cards and readers. The panel implements the SimpleSCardAppEventObserver, and has @@ -92,7 +111,7 @@ appname='A simple card monitoring tool', apppanel=SamplePanel, appstyle=TR_SMARTCARD | TR_READER, - appicon=os.path.join(os.path.dirname(__file__), 'images', 'mysmartcard.ico'), + appicon=os.path.join(module_path(), 'images', 'mysmartcard.ico'), size=(800, 600)) app.MainLoop() Added: trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py (rev 0) +++ trunk/pyscard/src/smartcard/Examples/wx/cardmonitor/setup.py 2010-08-17 15:03:12 UTC (rev 507) @@ -0,0 +1,43 @@ +#! /usr/bin/env python +""" +Setup script to build a standalone cardmonitor.exe executable on windows +using py2exe. Run: python.exe setup.py py2exe, to build executable file. + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +from distutils.core import setup +import py2exe + +from smartcard.wx import ICO_SMARTCARD, ICO_READER + +Mydata_files = [('images', ['images/mysmartcard.ico', ICO_SMARTCARD, ICO_READER ])] + +setup( windows=['cardmonitor.py'], + data_files = Mydata_files, + options = + { + "py2exe":{"dll_excludes":["MSVCP90.dll"]} + } + ) + + Modified: trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py 2010-08-03 14:22:04 UTC (rev 506) +++ trunk/pyscard/src/smartcard/Examples/wx/readerviewer/readerviewer.py 2010-08-17 15:03:12 UTC (rev 507) @@ -24,15 +24,35 @@ """ import os.path +import sys from smartcard.wx.SimpleSCardApp import * +def we_are_frozen(): + """Returns whether we are frozen via py2exe. + This will affect how we find out where we are located. + From WhereAmI page on py2exe wiki.""" + + return hasattr(sys, "frozen") + + +def module_path(): + """ This will get us the program's directory, + even if we are frozen using py2exe. From WhereAmI page on py2exe wiki.""" + + + if we_are_frozen(): + return os.path.dirname( unicode(sys.executable, sys.getfilesystemencoding( )) ) + + return os.path.dirname(unicode(__file__, sys.getfilesystemencoding( ))) + + def main(argv): app = SimpleSCardApp( appname='A simple reader monitoring tool', apppanel=None, appstyle=TR_READER, - appicon=os.path.join(os.path.dirname(__file__), 'images', 'readerviewer.ico'), + appicon=os.path.join(module_path(), 'images', 'readerviewer.ico'), size=(800, 600)) app.MainLoop() Added: trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py =================================================================== --- trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py (rev 0) +++ trunk/pyscard/src/smartcard/Examples/wx/readerviewer/setup.py 2010-08-17 15:03:12 UTC (rev 507) @@ -0,0 +1,44 @@ +#! /usr/bin/env python +""" +Setup script to build a standalone readerviewer.exe executable on windows +using py2exe. Run: python.exe setup.py py2exe, to build executable file. + +__author__ = "http://www.gemalto.com" + +Copyright 2001-2010 gemalto +Author: Jean-Daniel Aussel, mailto:jea...@ge... + +This file is part of pyscard. + +pyscard is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +pyscard is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with pyscard; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +""" + +from distutils.core import setup +import py2exe + +from smartcard.wx import ICO_SMARTCARD, ICO_READER + +Mydata_files = [('images', ['images/readerviewer.ico', ICO_SMARTCARD, ICO_READER ])] + + +setup( windows=['readerviewer.py'], + data_files = Mydata_files, + options = + { + "py2exe":{"dll_excludes":["MSVCP90.dll"]} + } + ) + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-08-03 14:54:53
|
Revision: 505 http://pyscard.svn.sourceforge.net/pyscard/?rev=505&view=rev Author: ludov Date: 2010-08-03 14:20:46 +0000 (Tue, 03 Aug 2010) Log Message: ----------- svn propset svn:keywords Id Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py trunk/contrib/parseATR/stress_test.py Property Changed: ---------------- trunk/contrib/parseATR/parseATR.py trunk/contrib/parseATR/stress_test.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2010-08-03 14:18:20 UTC (rev 504) +++ trunk/contrib/parseATR/parseATR.py 2010-08-03 14:20:46 UTC (rev 505) @@ -18,6 +18,8 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ +# $Id$ + ATR_PROTOCOL_TYPE_T0 = 0 ATR_MAX_PROTOCOLS = 7 T = -1 Property changes on: trunk/contrib/parseATR/parseATR.py ___________________________________________________________________ Added: svn:keywords + Id Modified: trunk/contrib/parseATR/stress_test.py =================================================================== --- trunk/contrib/parseATR/stress_test.py 2010-08-03 14:18:20 UTC (rev 504) +++ trunk/contrib/parseATR/stress_test.py 2010-08-03 14:20:46 UTC (rev 505) @@ -18,6 +18,8 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ +# $Id$ + import sys import parseATR Property changes on: trunk/contrib/parseATR/stress_test.py ___________________________________________________________________ Added: svn:keywords + Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-08-03 14:54:53
|
Revision: 504 http://pyscard.svn.sourceforge.net/pyscard/?rev=504&view=rev Author: ludov Date: 2010-08-03 14:18:20 +0000 (Tue, 03 Aug 2010) Log Message: ----------- Also display a possible TD(5) Example: 3B FF 11 00 00 C0 0A F1 20 01 00 FF 01 00 00 8F 0F 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 8A Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2010-08-03 14:13:25 UTC (rev 503) +++ trunk/contrib/parseATR/parseATR.py 2010-08-03 14:18:20 UTC (rev 504) @@ -299,7 +299,10 @@ def TD4(v): return TDn(4, v) +def TD5(v): + return TDn(5, v) + def TDn(i, v): global T Y = v >> 4 @@ -696,7 +699,7 @@ K = atr["T0"] & 0xF text.append(["T0 = 0x%02X" % atr["T0"], "Y(1): b%s, K: %d (historical bytes)" % (int2bin(Y1, padding=4), K)]) - for i in (1, 2, 3, 4): + for i in (1, 2, 3, 4, 5): separator = False for p in ("A", "B", "C", "D"): key = "T%s%d" % (p, i) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-08-03 14:41:51
|
Revision: 506 http://pyscard.svn.sourceforge.net/pyscard/?rev=506&view=rev Author: ludov Date: 2010-08-03 14:22:04 +0000 (Tue, 03 Aug 2010) Log Message: ----------- Update Copyrigth date Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2010-08-03 14:20:46 UTC (rev 505) +++ trunk/contrib/parseATR/parseATR.py 2010-08-03 14:22:04 UTC (rev 506) @@ -1,7 +1,7 @@ #! /usr/bin/env python """ parseATR: convert an ATR in a human readable format - Copyright (C) 2009 Ludovic Rousseau + Copyright (C) 2009-2010 Ludovic Rousseau 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2010-08-03 14:13:31
|
Revision: 503 http://pyscard.svn.sourceforge.net/pyscard/?rev=503&view=rev Author: ludov Date: 2010-08-03 14:13:25 +0000 (Tue, 03 Aug 2010) Log Message: ----------- reformat comments Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2010-07-28 09:41:32 UTC (rev 502) +++ trunk/contrib/parseATR/parseATR.py 2010-08-03 14:13:25 UTC (rev 503) @@ -100,12 +100,12 @@ pointer += 1 atr["TB%d" % pn] = atr_txt[pointer] - # Check TCi is present + # Check TCi is present if ((TDi | 0xBF) == 0xFF): pointer += 1 atr["TC%d" % pn] = atr_txt[pointer] - # Check TDi is present + # Check TDi is present if ((TDi | 0x7F) == 0xFF): pointer += 1 atr["TD%d" % pn] = TDi = atr_txt[pointer] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |