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...> - 2014-01-14 13:02:00
|
Revision: 617 http://sourceforge.net/p/pyscard/code/617 Author: ludov Date: 2014-01-14 13:01:53 +0000 (Tue, 14 Jan 2014) Log Message: ----------- Match only the complete RE Extra characters after the regular expression are no more ignored. 3B A7 00 40 .. 80 65 A2 08 .. .. .. will match 3B A7 00 40 18 80 65 A2 08 01 01 52 but not 3B A7 00 40 18 80 65 A2 08 01 01 52 00 Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2013-12-20 09:22:08 UTC (rev 616) +++ trunk/contrib/parseATR/parseATR.py 2014-01-14 13:01:53 UTC (rev 617) @@ -880,7 +880,7 @@ # does the ATR in the file uses a RE? if re_match.search(line): # use the RE engine (slow) - found = re.match(line, atr) + found = re.match(line + "$", atr) else: # use string compare (fast) found = line == atr This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2013-12-20 09:22:13
|
Revision: 616 http://sourceforge.net/p/pyscard/code/616 Author: ludov Date: 2013-12-20 09:22:08 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Do not specify alignment inside the table You should use CSS for that Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2013-10-13 10:05:58 UTC (rev 615) +++ trunk/contrib/parseATR/parseATR.py 2013-12-20 09:22:08 UTC (rev 616) @@ -777,7 +777,7 @@ left = '<span class="data">' right = '</span>' - text = '<tr><th align="right">' + html_escape(l[0]) + '</th>' + text = '<tr><th>' + html_escape(l[0]) + '</th>' if len(l) > 1: t = "" for line in l[1:]: @@ -786,7 +786,7 @@ if '\n' in t: t = "<pre>" + t + "</pre>" - text += '<th align="left"><span class="format">' + t + '</span></th></tr>' + text += '<th><span class="format">' + t + '</span></th></tr>' return text This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2013-10-13 10:06:01
|
Revision: 615 http://sourceforge.net/p/pyscard/code/615 Author: ludov Date: 2013-10-13 10:05:58 +0000 (Sun, 13 Oct 2013) Log Message: ----------- E128 continuation line under-indented for visual indent Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2013-10-13 10:04:26 UTC (rev 614) +++ trunk/contrib/parseATR/parseATR.py 2013-10-13 10:05:58 UTC (rev 615) @@ -278,11 +278,11 @@ # Smart Cards; UICC-Terminal interface; # Physical and logical characteristics (Release 8) texts = {0x00: "No additional global interface parameters supported", - 0x88: "Secure Channel supported as defined in TS 102 484", - 0x8C: "Secured APDU - Platform to Platform required as defined in TS 102 484", - 0x90: "Low Impedance drivers and protocol available on the I/O line available (see clause 7.2.1)", - 0xA0: "UICC-CLF interface supported as defined in TS 102 613", - 0xC0: "Inter-Chip USB UICC-Terminal interface supported as defined in TS 102 600"} + 0x88: "Secure Channel supported as defined in TS 102 484", + 0x8C: "Secured APDU - Platform to Platform required as defined in TS 102 484", + 0x90: "Low Impedance drivers and protocol available on the I/O line available (see clause 7.2.1)", + 0xA0: "UICC-CLF interface supported as defined in TS 102 613", + 0xC0: "Inter-Chip USB UICC-Terminal interface supported as defined in TS 102 600"} text = texts.get(v, "RFU") return [text, args] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2013-10-13 10:04:31
|
Revision: 614 http://sourceforge.net/p/pyscard/code/614 Author: ludov Date: 2013-10-13 10:04:26 +0000 (Sun, 13 Oct 2013) Log Message: ----------- Remove duplicate TD5 method and make PEP8 more happy Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2013-10-13 10:02:16 UTC (rev 613) +++ trunk/contrib/parseATR/parseATR.py 2013-10-13 10:04:26 UTC (rev 614) @@ -201,6 +201,7 @@ def TA4(v): return TAn(4, v) + def TA5(v): return TAn(5, v) @@ -257,9 +258,11 @@ def TB4(v): return TBn(4, v) + def TB5(v): return TBn(5, v) + def TBn(i, v): text = "Undocumented" args = list() @@ -303,6 +306,7 @@ def TC4(v): return TCn(4, v) + def TC5(v): return TCn(5, v) @@ -337,10 +341,7 @@ def TD4(v): return TDn(4, v) -def TD5(v): - return TDn(5, v) - def TD5(v): return TDn(5, v) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2013-10-13 10:02:19
|
Revision: 613 http://sourceforge.net/p/pyscard/code/613 Author: ludov Date: 2013-10-13 10:02:16 +0000 (Sun, 13 Oct 2013) Log Message: ----------- Add parsing for TA5, TB5, TC5 and TD5 It may happen in particular for bogus ATR like 3BF2008065F0F80401F272D643F32323232323232323 Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-11-26 18:43:31 UTC (rev 612) +++ trunk/contrib/parseATR/parseATR.py 2013-10-13 10:02:16 UTC (rev 613) @@ -201,7 +201,10 @@ def TA4(v): return TAn(4, v) +def TA5(v): + return TAn(5, v) + def TAn(i, v): XI = ("not supported", "state L", "state H", "no preference") if (T == 1): @@ -254,6 +257,8 @@ def TB4(v): return TBn(4, v) +def TB5(v): + return TBn(5, v) def TBn(i, v): text = "Undocumented" @@ -298,7 +303,10 @@ def TC4(v): return TCn(4, v) +def TC5(v): + return TCn(5, v) + def TCn(i, v): text = list() args = list() @@ -329,7 +337,10 @@ def TD4(v): return TDn(4, v) +def TD5(v): + return TDn(5, v) + def TD5(v): return TDn(5, v) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jda...@us...> - 2012-11-26 18:43:38
|
Revision: 612 http://pyscard.svn.sourceforge.net/pyscard/?rev=612&view=rev Author: jdaussel Date: 2012-11-26 18:43:31 +0000 (Mon, 26 Nov 2012) Log Message: ----------- Preparing for version 1.6.16 Modified Paths: -------------- trunk/pyscard/src/PKG-INFO trunk/pyscard/src/README trunk/pyscard/src/setup.py trunk/pyscard/src/smartcard/ChangeLog trunk/pyscard/src/smartcard/README 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/scard/gemalto.ver Modified: trunk/pyscard/src/PKG-INFO =================================================================== --- trunk/pyscard/src/PKG-INFO 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/PKG-INFO 2012-11-26 18:43:31 UTC (rev 612) @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: pyscard -Version: 1.6.14 +Version: 1.6.16 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.14 - Release +Classifier: Development Status :: 1.6.16 - 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 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/README 2012-11-26 18:43:31 UTC (rev 612) @@ -24,7 +24,7 @@ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.14 (April 2012) +Last update : pyscard 1.6.16 (Decembre 2012) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -63,7 +63,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.14.win32-py2.5.msi and pyscard-1.6.14.win32-py2.5.exe for +pyscard-1.6.16.win32-py2.5.msi and pyscard-1.6.16.win32-py2.5.exe for python 2.5. @@ -79,8 +79,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip for windows, -and pyscard-1.6.14.tar.gz for linux. +The source distribution is available as pyscard-1.6.16.zip for windows, +and pyscard-1.6.16.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -101,8 +101,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.14-1.i386.rpm for the rpm distribution, or -pyscard-1.6.14.linux-i686.tar.gz for the archive distribution. +names similar to pyscard-1.6.16-1.i386.rpm for the rpm distribution, or +pyscard-1.6.16.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -117,8 +117,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar the source distribution @@ -133,7 +133,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.14. It was +The Mac OS X Tiger support is experimental on pyscard 1.6.16. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -143,16 +143,16 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.3-macosx10.4.mpkg or -pyscard-1.6.14-py-2.5-macosx10.4.mpkg. +pyscard-1.6.16-py-2.3-macosx10.4.mpkg or +pyscard-1.6.16-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.14-py-2.3-macosx10.4.mpkg if you did not install another +pyscard-1.6.16-py-2.3-macosx10.4.mpkg if you did not install another release of python. -Install pyscard-1.6.14-py-2.5-macosx10.4.mpkg if you installed python 2.5. +Install pyscard-1.6.16-py-2.5-macosx10.4.mpkg if you installed python 2.5. Installing on Mac OS X Tiger from the source distribution ---------------------------------------------------------- @@ -162,8 +162,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -185,7 +185,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.5-macosx10.5.mpkg. +pyscard-1.6.16-py-2.5-macosx10.5.mpkg. 2. Open the package and proceed with installation. @@ -197,8 +197,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -220,7 +220,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.7-macosx10.7.mpkg. +pyscard-1.6.16-py-2.7-macosx10.7.mpkg. 2. Open the package and proceed with installation. @@ -233,8 +233,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -273,9 +273,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.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 +dist directory, with names similar to pyscard-1.6.16.win32-py2.5.msi and +pyscard-1.6.16.win32-py2.5.exe for python 2.5, and +pyscard-1.6.16.win32-py2.4.msi and pyscard-1.6.16.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -290,7 +290,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.14.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.16.linux-i686.tar.gz containing a tree Building a rpm distribution for linux @@ -312,7 +312,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.14-1.i386.rpm. +similar to pyscard-1.6.16-1.i386.rpm. Building a binary distribution for Mac OS X Tiger ------------------------------------------------- @@ -330,7 +330,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.14-py-2.3-macosx10.4.mpkg. +This will build package pyscard-1.6.16-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: @@ -338,7 +338,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.14-py-2.6-macosx10.4.mpkg. +This will build package pyscard-1.6.16-py-2.6-macosx10.4.mpkg. Building a binary distribution for Mac OS X Lion @@ -358,7 +358,7 @@ python setup.py build_ext bdist_mpkg setup.py -This will build package pyscard-1.6.14-py-2.7-macosx10.7.mpkg in the dist +This will build package pyscard-1.6.16-py-2.7-macosx10.7.mpkg in the dist directory. Building a binary distribution for Mac OS X Leopard @@ -410,7 +410,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.14-py-2.5-macosx10.5.mpkg. +This will build package pyscard-1.6.16-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: @@ -418,7 +418,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.14-py-2.6-macosx10.5.mpkg. +This will build package pyscard-1.6.16-py-2.6-macosx10.5.mpkg. ------------------------------------------------------------------------------- Issue Tracking Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/setup.py 2012-11-26 18:43:31 UTC (rev 612) @@ -196,7 +196,7 @@ build_ext.swig_sources = swig_sources kw = {'name': "pyscard", - 'version': "1.6.14", + 'version': "1.6.16", 'description': "Smartcard module for Python.", 'author': "Jean-Daniel Aussel", 'author_email': "aus...@ge...", @@ -246,7 +246,7 @@ if hasattr(core, 'setup_keywords'): if 'classifiers' in core.setup_keywords: kw['classifiers'] = [ - 'Development Status :: 1.6.14 - Release', + 'Development Status :: 1.6.16 - Release', 'License :: GNU LESSER GENERAL PUBLIC LICENSE', 'Intended Audience :: Developers', 'Operating System :: Unix', Modified: trunk/pyscard/src/smartcard/ChangeLog =================================================================== --- trunk/pyscard/src/smartcard/ChangeLog 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/ChangeLog 2012-11-26 18:43:31 UTC (rev 612) @@ -1,4 +1,4 @@ -1.6.14 (April 2012s) +1.6.16 (Decembre 2012s) =================== * added support for windows 64bit amd64 (Jean-Daniel Aussel) * support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn feature request ID 3110077) Modified: trunk/pyscard/src/smartcard/README =================================================================== --- trunk/pyscard/src/smartcard/README 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/README 2012-11-26 18:43:31 UTC (rev 612) @@ -24,7 +24,7 @@ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ------------------------------------------------------------------------------- -Last update : pyscard 1.6.14 (April 2012) +Last update : pyscard 1.6.16 (Decembre 2012) ------------------------------------------------------------------------------- pyscard is a python module adding smart cards support to python. @@ -63,7 +63,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.14.win32-py2.5.msi and pyscard-1.6.14.win32-py2.5.exe for +pyscard-1.6.16.win32-py2.5.msi and pyscard-1.6.16.win32-py2.5.exe for python 2.5. @@ -79,8 +79,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip for windows, -and pyscard-1.6.14.tar.gz for linux. +The source distribution is available as pyscard-1.6.16.zip for windows, +and pyscard-1.6.16.tar.gz for linux. 3. unzip the source distribution, open a console and type the following: @@ -101,8 +101,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.14-1.i386.rpm for the rpm distribution, or -pyscard-1.6.14.linux-i686.tar.gz for the archive distribution. +names similar to pyscard-1.6.16-1.i386.rpm for the rpm distribution, or +pyscard-1.6.16.linux-i686.tar.gz for the archive distribution. 2. untar the binary distribution @@ -117,8 +117,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar the source distribution @@ -133,7 +133,7 @@ Installation on Max OS X Tiger: -------------------------------- -The Mac OS X Tiger support is experimental on pyscard 1.6.14. It was +The Mac OS X Tiger support is experimental on pyscard 1.6.16. It was developed and tested on a i386 MacBook Pro. Please drop me a mail if you succeed on a ppc MacBook. @@ -143,16 +143,16 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.3-macosx10.4.mpkg or -pyscard-1.6.14-py-2.5-macosx10.4.mpkg. +pyscard-1.6.16-py-2.3-macosx10.4.mpkg or +pyscard-1.6.16-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.14-py-2.3-macosx10.4.mpkg if you did not install another +pyscard-1.6.16-py-2.3-macosx10.4.mpkg if you did not install another release of python. -Install pyscard-1.6.14-py-2.5-macosx10.4.mpkg if you installed python 2.5. +Install pyscard-1.6.16-py-2.5-macosx10.4.mpkg if you installed python 2.5. Installing on Mac OS X Tiger from the source distribution ---------------------------------------------------------- @@ -162,8 +162,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -185,7 +185,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.5-macosx10.5.mpkg. +pyscard-1.6.16-py-2.5-macosx10.5.mpkg. 2. Open the package and proceed with installation. @@ -197,8 +197,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -220,7 +220,7 @@ 1. download the binary distribution The binary distribution is an archive file, with a name similar to -pyscard-1.6.14-py-2.7-macosx10.7.mpkg. +pyscard-1.6.16-py-2.7-macosx10.7.mpkg. 2. Open the package and proceed with installation. @@ -233,8 +233,8 @@ 2. download the source distribution -The source distribution is available as pyscard-1.6.14.zip or -pyscard-1.6.14.tar.gz. +The source distribution is available as pyscard-1.6.16.zip or +pyscard-1.6.16.tar.gz. 3. untar or unzip the source distribution @@ -273,9 +273,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.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 +dist directory, with names similar to pyscard-1.6.16.win32-py2.5.msi and +pyscard-1.6.16.win32-py2.5.exe for python 2.5, and +pyscard-1.6.16.win32-py2.4.msi and pyscard-1.6.16.win32-py2.4.exe for python 2.4. Building a binary distribution for linux @@ -290,7 +290,7 @@ /usr/bin/python setup.py build_ext bdist -This will build a package similar to pyscard-1.6.14.linux-i686.tar.gz +This will build a package similar to pyscard-1.6.16.linux-i686.tar.gz containing a tree Building a rpm distribution for linux @@ -312,7 +312,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.14-1.i386.rpm. +similar to pyscard-1.6.16-1.i386.rpm. Building a binary distribution for Mac OS X Tiger ------------------------------------------------- @@ -330,7 +330,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.14-py-2.3-macosx10.4.mpkg. +This will build package pyscard-1.6.16-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: @@ -338,7 +338,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.14-py-2.6-macosx10.4.mpkg. +This will build package pyscard-1.6.16-py-2.6-macosx10.4.mpkg. Building a binary distribution for Mac OS X Lion @@ -358,7 +358,7 @@ python setup.py build_ext bdist_mpkg setup.py -This will build package pyscard-1.6.14-py-2.7-macosx10.7.mpkg in the dist +This will build package pyscard-1.6.16-py-2.7-macosx10.7.mpkg in the dist directory. Building a binary distribution for Mac OS X Leopard @@ -410,7 +410,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.14-py-2.5-macosx10.5.mpkg. +This will build package pyscard-1.6.16-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: @@ -418,7 +418,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.14-py-2.6-macosx10.5.mpkg. +This will build package pyscard-1.6.16-py-2.6-macosx10.5.mpkg. ------------------------------------------------------------------------------- Issue Tracking Modified: trunk/pyscard/src/smartcard/__init__.py =================================================================== --- trunk/pyscard/src/smartcard/__init__.py 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/__init__.py 2012-11-26 18:43:31 UTC (rev 612) @@ -5,7 +5,7 @@ __author__ = "gemalto http://www.gemalto.com" __date__ = "May 2010" -__version__ = "1.6.14" +__version__ = "1.6.16" Copyright 2001-2012 gemalto Author: Jean-Daniel Aussel, mailto:jea...@ge... Modified: trunk/pyscard/src/smartcard/doc/framework-samples.html =================================================================== --- trunk/pyscard/src/smartcard/doc/framework-samples.html 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/doc/framework-samples.html 2012-11-26 18:43:31 UTC (rev 612) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.14 (April 2012) +Last update : pyscard 1.6.16 (Decembre 2012) <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 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/doc/index.html 2012-11-26 18:43:31 UTC (rev 612) @@ -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.14 (April 2012) + Last update : pyscard 1.6.16 (Decembre 2012) <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 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/doc/scard-samples.html 2012-11-26 18:43:31 UTC (rev 612) @@ -12,7 +12,7 @@ secure and Free Open Source software downloads" /></a> <hr> <H1 align="center"> </h1> -Last update : pyscard 1.6.14 (April 2012) +Last update : pyscard 1.6.16 (Decembre 2012) <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/scard/gemalto.ver =================================================================== --- trunk/pyscard/src/smartcard/scard/gemalto.ver 2012-10-28 11:16:01 UTC (rev 611) +++ trunk/pyscard/src/smartcard/scard/gemalto.ver 2012-11-26 18:43:31 UTC (rev 612) @@ -16,7 +16,7 @@ #endif #ifndef VER_PRODUCTVERSION -#define VER_PRODUCTVERSION 1,06,14,0010 +#define VER_PRODUCTVERSION 1,06,16,0010 #endif #ifndef VER_FILEVERSION @@ -24,7 +24,7 @@ #endif #ifndef VER_PRODUCTVERSION_STR -#define VER_PRODUCTVERSION_STR "1.6.14" +#define VER_PRODUCTVERSION_STR "1.6.16" #endif #ifndef VER_FILEFLAGSMASK This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-10-28 11:16:13
|
Revision: 611 http://pyscard.svn.sourceforge.net/pyscard/?rev=611&view=rev Author: ludov Date: 2012-10-28 11:16:01 +0000 (Sun, 28 Oct 2012) Log Message: ----------- Add support of Mountain Lion (Mac OS X 10.8) Modified Paths: -------------- trunk/pyscard/src/setup.py Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2012-10-10 13:26:28 UTC (rev 610) +++ trunk/pyscard/src/setup.py 2012-10-28 11:16:01 UTC (rev 611) @@ -74,12 +74,12 @@ platform_extra_link_args = ['-arch', 'i386', '-arch', 'ppc', '-ggdb'] # -# Mac OS X Lion, python 2.7 +# Mac OS X Lion (and above), python 2.7 # PowerPC is no more supported, x86_64 is new # # x86_64 and i386 # -elif 'macosx-10.7' in get_platform(): +elif 'macosx-10.' in get_platform(): platform__cc_defines = [('PCSCLITE', '1'), ('__APPLE__', '1'), ('__LION__', '1')] @@ -111,7 +111,7 @@ # Mac OS X Leopard has python 2.5 preinstalled # get_platform() returns a string similar to 'macosx-10.5-i386' # -elif 'macosx-10.' in get_platform(): +elif 'macosx-10.5' in get_platform(): platform__cc_defines = [('PCSCLITE', '1'), ('__APPLE__', '1'), ('__LEOPARD__', '1')] @@ -123,6 +123,9 @@ '-arch', 'i386', '-arch', 'ppc', '-ggdb', '-O0'] platform_extra_link_args = ['-arch', 'i386', '-arch', 'ppc', '-ggdb'] +# +# Other (GNU/Linux, etc.) +# else: platform__cc_defines = [('PCSCLITE', '1')] platform_swig_opts = ['-DPCSCLITE'] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-10-10 13:26:38
|
Revision: 610 http://pyscard.svn.sourceforge.net/pyscard/?rev=610&view=rev Author: ludov Date: 2012-10-10 13:26:28 +0000 (Wed, 10 Oct 2012) Log Message: ----------- Remove dependency on libpython for Linux pyscard is linked against libpython. This is considered a bad habit in Debian as it pulling extra dependencies when installing. The python interpreter itself is already statically linked against libpython, linking the extension to it is creating unneeded dependencies and might increase the memory usage. This change fixes Debian bug #689923 http://bugs.debian.org/689923 Modified Paths: -------------- trunk/pyscard/src/setup.py Modified: trunk/pyscard/src/setup.py =================================================================== --- trunk/pyscard/src/setup.py 2012-10-06 16:44:20 UTC (rev 609) +++ trunk/pyscard/src/setup.py 2012-10-10 13:26:28 UTC (rev 610) @@ -127,7 +127,7 @@ platform__cc_defines = [('PCSCLITE', '1')] platform_swig_opts = ['-DPCSCLITE'] platform_sources = [] - platform_libraries = ["python%d.%d" % sys.version_info[:2]] + platform_libraries = [] platform_include_dirs = ['/usr/include/PCSC'] platform_extra_compile_args = [] # ['-ggdb', '-O0'] platform_extra_link_args = [] # ['-ggdb'] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-10-06 16:44:26
|
Revision: 609 http://pyscard.svn.sourceforge.net/pyscard/?rev=609&view=rev Author: ludov Date: 2012-10-06 16:44:20 +0000 (Sat, 06 Oct 2012) Log Message: ----------- Search the smartcard_list.txt from different places Resuse the same list as present in Perl ATR_analysis Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-30 12:54:37 UTC (rev 608) +++ trunk/contrib/parseATR/parseATR.py 2012-10-06 16:44:20 UTC (rev 609) @@ -828,12 +828,35 @@ return "\n".join([colorize(t) for t in text]) -def match_atr(atr, atr_file="smartcard_list.txt"): +def match_atr(atr, atr_file=None): """ try to find card description for a given ATR """ card = list() atr = toHexString(normalize(atr)) - file = open(atr_file) + if atr_file is None: + import os + db_list = list() + + try: + cache = os.environ['XDG_CACHE_HOME'] + except KeyError: + cache = os.environ['HOME'] + "/.cache" + db_list.append(cache + "/smartcard_list.txt") + + db_list += [os.environ['HOME'] + "/.smartcard_list.txt", + "/usr/local/pcsc/smartcard_list.txt", + "/usr/share/pcsc/smartcard_list.txt", + "/usr/local/share/pcsc/smartcard_list.txt"] + for atr_file in db_list: + try: + file = open(atr_file) + print "Using:", atr_file + break + except: + pass + else: + file = open(atr_file) + # find a . * or [ in the ATR to know if we must use a RE or not re_match = re.compile("[\\.\\*\\[]") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-30 12:54:43
|
Revision: 608 http://pyscard.svn.sourceforge.net/pyscard/?rev=608&view=rev Author: ludov Date: 2012-09-30 12:54:37 +0000 (Sun, 30 Sep 2012) Log Message: ----------- Also colorize the format text Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py trunk/contrib/parseATR/parseATRhtml.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-29 14:25:48 UTC (rev 607) +++ trunk/contrib/parseATR/parseATR.py 2012-09-30 12:54:37 UTC (rev 608) @@ -774,7 +774,7 @@ if '\n' in t: t = "<pre>" + t + "</pre>" - text += '<th align="left">' + t + '</th></tr>' + text += '<th align="left"><span class="format">' + t + '</span></th></tr>' return text Modified: trunk/contrib/parseATR/parseATRhtml.py =================================================================== --- trunk/contrib/parseATR/parseATRhtml.py 2012-09-29 14:25:48 UTC (rev 607) +++ trunk/contrib/parseATR/parseATRhtml.py 2012-09-30 12:54:37 UTC (rev 608) @@ -28,7 +28,8 @@ <head> <title>ATR Parsing</title> <style type="text/css"> -span.data{color: blue;} +span.data{color: Dodgerblue;} +span.format{color: Darkmagenta;} </style> </head> <body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-29 14:25:55
|
Revision: 607 http://pyscard.svn.sourceforge.net/pyscard/?rev=607&view=rev Author: ludov Date: 2012-09-29 14:25:48 +0000 (Sat, 29 Sep 2012) Log Message: ----------- Display data in color Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py trunk/contrib/parseATR/parseATRhtml.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-29 12:41:06 UTC (rev 606) +++ trunk/contrib/parseATR/parseATR.py 2012-09-29 14:25:48 UTC (rev 607) @@ -1,7 +1,7 @@ #! /usr/bin/env python """ parseATR: convert an ATR in a human readable format - Copyright (C) 2009-2010 Ludovic Rousseau + Copyright (C) 2009-2012 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 @@ -26,6 +26,7 @@ import exceptions import re +import types class ParseAtrException(exceptions.Exception): @@ -164,14 +165,16 @@ F = v >> 4 D = v & 0xF - text = "Fi=%s, Di=%s" % (Fi[F], Di[D]) + text = "Fi=%s, Di=%s" + args = (Fi[F], Di[D]) if "RFU" in [Fi[F], Di[D]]: text += ", INVALID VALUE" else: value = Fi[F] / Di[D] - text += ", %g cycles/ETU (%d bits/s at 4.00 MHz, %d bits/s for fMax=%d MHz)" % (value, 4000000 / value, FMax[F] * 1000000 / value, FMax[F]) + text += ", %g cycles/ETU (%d bits/s at 4.00 MHz, %d bits/s for fMax=%d MHz)" + args += (value, 4000000 / value, FMax[F] * 1000000 / value, FMax[F]) - return text + return [text, args] def TA2(v): @@ -202,7 +205,8 @@ def TAn(i, v): XI = ("not supported", "state L", "state H", "no preference") if (T == 1): - text = "IFSC: %s" % v + text = "IFSC: %s" + args = (v) else: F = v >> 6 D = v % 64 @@ -219,8 +223,9 @@ if (D & 0x10): Class.append("E RFU") - text = "Clock stop: %s - Class accepted by the card: %s" % (XI[F], ''.join(Class)) - return text + text = "Clock stop: %s - Class accepted by the card: %s" + args = (XI[F], ''.join(Class)) + return [text, args] def TB1(v): @@ -252,11 +257,13 @@ def TBn(i, v): text = "Undocumented" + args = list() if (T == 1): BWI = v >> 4 CWI = v % 16 - text = "Block Waiting Integer: %d - Character Waiting Integer: %d" % (BWI, CWI) + text = "Block Waiting Integer: %d - Character Waiting Integer: %d" + args = (BWI, CWI) else: if (i > 2 and T == 15): # see ETSI TS 102 221 V8.3.0 (2009-08) @@ -269,14 +276,15 @@ 0xA0: "UICC-CLF interface supported as defined in TS 102 613", 0xC0: "Inter-Chip USB UICC-Terminal interface supported as defined in TS 102 600"} text = texts.get(v, "RFU") - return text + return [text, args] def TC1(v): - text = ["Extra guard time: %d" % v] + text = "Extra guard time: %d" + args = v if (v == 255): - text.append(" (special value)") - return ''.join(text) + text += " (special value)" + return [text, args] def TC2(v): @@ -293,16 +301,17 @@ def TCn(i, v): text = list() + args = list() if (T == 1): - text.append("Error detection code: ") + text.append("Error detection code: %s") if (v == 1): - text.append("CRC") + args = "CRC" else: if (v == 0): - text.append("LRC") + args = "LRC" else: - text.append("RFU") - return ''.join(text) + args = "RFU" + return [''.join(text), args] def TD1(v): @@ -329,10 +338,12 @@ global T Y = v >> 4 T = v & 0xF - text = "Y(i+1) = b%s, Protocol T=%d" % (int2bin(Y, 4), T) - return text + text = "Y(i+1) = b%s, Protocol T=%d" + args = (int2bin(Y, 4), T) + return [text, args] + def life_cycle_status(lcs): # Table 13 - Life cycle status byte # ISO 7816-4:2004, page 21 @@ -516,18 +527,22 @@ len = tlv % 16 text = list() - text.append(" Tag: %d, Len: %d" % (tag, len)) + args = list() + text.append(" Tag: %d, Len: %d (%%s)\n" % (tag, len)) + if tag == 1: - text.append(" (country code, ISO 3166-1)\n") - text.append(" Country code: %s\n" % toHexString(historical_bytes[:len])) + args.append("country code, ISO 3166-1") + text.append(" Country code: %s\n") + args.append(toHexString(historical_bytes[:len])) elif tag == 2: - text.append(" (issuer identification number, ISO 7812-1)\n") - text.append(" Issuer identification number: %s\n" % toHexString(historical_bytes[:len])) + args.append("issuer identification number, ISO 7812-1") + text.append(" Issuer identification number: %s\n") + args.append(toHexString(historical_bytes[:len])) elif tag == 3: - text.append(" (card service data byte)\n") + args.append("card service data byte") try: cs = historical_bytes[0] except IndexError: @@ -536,93 +551,104 @@ if cs is None: text.append(" Error in the ATR: expecting 1 byte and got 0") else: - text.append(" Card service data byte: %d\n" % cs) - text.append(card_service(cs)) + text.append(" Card service data byte: %d\n%s") + args += (cs, card_service(cs)) elif tag == 4: - text.append(" (initial access data)\n") - text.append(" Initial access data: " + - toHexString(historical_bytes[:len]) + " \"" + - toASCIIString(historical_bytes[:len]) + "\"\n") + args.append("initial access data") + text.append(" Initial access data: %s \"%s\"\n") + args.append(toHexString(historical_bytes[:len])) + args.append(toASCIIString(historical_bytes[:len])) elif tag == 5: - text.append(" (card issuer's data)\n") - text.append(" Card issuer data: " + - toHexString(historical_bytes[:len]) + " \"" + - toASCIIString(historical_bytes[:len]) + "\"\n") + args.append("card issuer's data") + text.append(" Card issuer data: %s \"%s\"\n") + args.append(toHexString(historical_bytes[:len])) + args.append(toASCIIString(historical_bytes[:len])) elif tag == 6: - text.append(" (pre-issuing data)\n") - text.append(" Data: " + - toHexString(historical_bytes[:len]) + " \"" + - toASCIIString(historical_bytes[:len]) + "\"\n") + args.append("pre-issuing data") + text.append(" Data: %s \"%s\"\n") + args.append(toHexString(historical_bytes[:len])) + args.append(toASCIIString(historical_bytes[:len])) elif tag == 7: - text.append(" (card capabilities)\n") + args.append("card capabilities") if len == 1: try: sm = historical_bytes[0] except IndexError: text.append("Error in the ATR: expecting 1 byte and got 0\n") else: - text.append(" Selection methods: %d\n" % sm) - text.append(selection_mode(sm)) + text.append(" Selection methods: %d\n%s") + args.append(sm) + args.append(selection_mode(sm)) elif len == 2: sm = historical_bytes[0] dc = historical_bytes[1] - text.append(" Selection methods: %d\n" % sm) - text.append(selection_methods(sm)) - text.append(" Data coding byte: %d\n" % dc) - text.append(data_coding(dc)) + text.append(" Selection methods: %d\n%s") + args.append(sm) + args.append(selection_methods(sm)) + text.append(" Data coding byte: %d\n%s") + args.append(dc) + args.append(data_coding(dc)) elif len == 3: sm = historical_bytes[0] dc = historical_bytes[1] cc = historical_bytes[2] - text.append(" Selection methods: %d\n" % sm) - text.append(selection_mode(sm)) - text.append(" Data coding byte: %d\n" % dc) - text.append(data_coding(dc)) - text.append(" Command chaining, length fields and logical channels: %d\n" % cc) - text.append(command_chaining(cc)) + text.append(" Selection methods: %d\n%s") + args.append(sm) + args.append(selection_mode(sm)) + text.append(" Data coding byte: %d\n%s") + args.append(dc) + args.append(data_coding(dc)) + text.append(" Command chaining, length fields and logical channels: %d\n%s") + args.append(cc) + args.append(command_chaining(cc)) else: text.append(" wrong ATR") elif tag == 8: - text.append(" (status indicator)\n") + args.append("status indicator") if len == 1: lcs = historical_bytes[0] - text.append(" LCS (life card cycle): %d" % lcs) + text.append(" LCS (life card cycle): %d\n") + args.append(lcs) elif len == 2: sw1 = historical_bytes[0] sw2 = historical_bytes[1] - text.append(" SW: %02X %02X" % (sw1, sw2)) + text.append(" SW: %s") + args.append("%02X %02X" % (sw1, sw2)) elif len == 3: lcs = historical_bytes[0] sw1 = historical_bytes[1] sw2 = historical_bytes[2] - text.append(" LCS (life card cycle): %d\n" % lcs) - text.append(" SW: %02X %02X" % (sw1, sw2)) + text.append(" LCS (life card cycle): %d\n") + args.append(lcs) + text.append(" SW: %s") + args.append("%02X %02X" % (sw1, sw2)) elif tag == 15: - text.append(" (application identifier)\n") - text.append(" Application identifier: " + - toHexString(historical_bytes[:len]) + " \"" + - toASCIIString(historical_bytes[:len]) + "\"\n") + args.append("application identifier") + text.append(" Application identifier: %s \"%s\"\n") + args.append(toHexString(historical_bytes[:len])) + args.append(toASCIIString(historical_bytes[:len])) else: - text.append(" (unknown)\n") - text.append(" Value: " + - toHexString(historical_bytes[:len]) + " \"" + - toASCIIString(historical_bytes[:len]) + "\"\n") + args.append("unknown") + text.append(" Value: %s \"%s\"\n") + args.append(toHexString(historical_bytes[:len])) + args.append(toASCIIString(historical_bytes[:len])) # consume len bytes of historic del historical_bytes[0:len] - return ''.join(text) + return [''.join(text), tuple(args)] def analyse_histrorical_bytes(historical_bytes): text = list() + args = list() # return if we have NO historical bytes if len(historical_bytes) == 0: @@ -630,7 +656,7 @@ hb_category = historical_bytes.pop(0) - text.append(" Category indicator byte: 0x%02X" % hb_category) + left = " Category indicator byte: 0x%02X" % hb_category if hb_category == 0x00: text.append(" (compact TLV data object)\n") @@ -644,34 +670,39 @@ del historical_bytes[-3:] while len(historical_bytes) > 0: - text.append(compact_tlv(historical_bytes)) + [t, a] = compact_tlv(historical_bytes) + text.append(t) + args += a (lcs, sw1, sw2) = status[:3] text.append(" Mandatory status indicator (3 last bytes)\n") - text.append(" LCS (life card cycle): %d (%s)\n" % (lcs, life_cycle_status(lcs))) - text.append(" SW: %02X%02X (%s)" % (sw1, sw2, "")) # Chipcard::PCSC::Card::ISO7816Error("$sw1 $sw2")) + text.append(" LCS (life card cycle): %d (%s)\n") + args += (lcs, life_cycle_status(lcs)) + text.append(" SW: %s (%s)") + args.append("%02X %02X" % (sw1, sw2)) + args.append("") # Chipcard::PCSC::Card::ISO7816Error("$sw1 $sw2")) elif hb_category == 0x80: text.append(" (compact TLV data object)\n") while len(historical_bytes) > 0: - text.append(compact_tlv(historical_bytes)) + [t, a] = compact_tlv(historical_bytes) + text.append(t) + args += a elif hb_category == 0x10: - text.append(" (next byte is the DIR data reference)") + text.append(" (next byte is the DIR data reference)\n") data_ref = historical_bytes.pop(0) - text.append(" DIR data reference: %d" % data_ref) + text.append(" DIR data reference: %d") + args.append(data_ref) elif hb_category in (0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F): text.append(" (Reserved for future use)") else: - text.append(" (proprietary format)") - ascii = " equivalent ASCII string: \"" - ascii += toASCIIString(historical_bytes) - ascii += '"' - text.append(ascii) + text.append(" (proprietary format) \"%s\"") + args.append(toASCIIString(historical_bytes)) - return text + return [left, ["".join(text), tuple(args)]] def compute_tck(atr): @@ -684,12 +715,29 @@ return s +def colorize_line(line, left, right): + # colorize data from the format: foo: data, ... + if isinstance(line, types.StringTypes): + return line + + template = line[0].replace("%s", left + "%s" + + right).replace("%d", left + "%d" + right).replace("%g", left + + "%g" + right) + flattened = template % line[1] + return flattened + + def colorize_txt(l): magenta = "\033[35m" normal = "\033[0m" + blue = "\033[34m" text = l[0] if len(l) > 1: - text += " --> " + magenta + "".join(l[1:]) + normal + text += " --> " + magenta + for line in l[1:]: + colored_line = colorize_line(line, blue, magenta) + text += colored_line + text += normal return text @@ -714,11 +762,19 @@ def colorize_html(l): - text = '<span class="left">' + html_escape(l[0]) + '</span>' + left = '<span class="data">' + right = '</span>' + + text = '<tr><th align="right">' + html_escape(l[0]) + '</th>' if len(l) > 1: - text += '<span class="right">' + html_escape("".join(l[1:])) + '</span>' - else: - text = l[0] + t = "" + for line in l[1:]: + colored_line = colorize_line(line, left, right) + t += colored_line + + if '\n' in t: + t = "<pre>" + t + "</pre>" + text += '<th align="left">' + t + '</th></tr>' return text @@ -733,7 +789,7 @@ Y1 = atr["T0"] >> 4 K = atr["T0"] & 0xF - text.append(["T0 = 0x%02X" % atr["T0"], "Y(1): b%s, K: %d (historical bytes)" % (int2bin(Y1, padding=4), K)]) + 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, 5): separator = False @@ -761,7 +817,7 @@ t = ["TCK = 0x%02X " % atr["TCK"]] tck = compute_tck(atr) if tck == atr["TCK"]: - t.append("(correct checksum)") + t.append("correct checksum") else: t.append("WRONG CHECKSUM, expected 0x%02X" % tck) text.append(t) Modified: trunk/contrib/parseATR/parseATRhtml.py =================================================================== --- trunk/contrib/parseATR/parseATRhtml.py 2012-09-29 12:41:06 UTC (rev 606) +++ trunk/contrib/parseATR/parseATRhtml.py 2012-09-29 14:25:48 UTC (rev 607) @@ -1,7 +1,7 @@ #! /usr/bin/env python """ parseATRhtml: convert an ATR in a (HTML) human readable format - Copyright (C) 2009 Ludovic Rousseau + Copyright (C) 2009-2012 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 @@ -27,6 +27,9 @@ <html> <head> <title>ATR Parsing</title> +<style type="text/css"> +span.data{color: blue;} +</style> </head> <body> <table border="1">""" @@ -36,15 +39,6 @@ </html>""" -def colorize(l): - text = '<tr><th align="right">' + html_escape(l[0]) + '</th>' - if len(l) > 1: - t = html_escape("".join(l[1:])) - if '\n' in t: - t = "<pre>" + t + "</pre>" - text += '<th align="left">' + t + '</th></tr>' - return text - if __name__ == "__main__": import sys if len(sys.argv) > 1: @@ -54,7 +48,7 @@ ATR = "3F FF 95 00 FF 91 81 71 A0 47 00 44 4E 41 53 50 30 31 31 20 52 65 76 42 30 36 4E" atr = parseATR(ATR) #print "ATR:", ATR - html = atr_display(atr, colorize) + html = atr_display_html(atr) print header print "<p>ATR: " + ATR + "<p>" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-29 12:41:16
|
Revision: 606 http://pyscard.svn.sourceforge.net/pyscard/?rev=606&view=rev Author: ludov Date: 2012-09-29 12:41:06 +0000 (Sat, 29 Sep 2012) Log Message: ----------- Fix typo Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-29 12:09:39 UTC (rev 605) +++ trunk/contrib/parseATR/parseATR.py 2012-09-29 12:41:06 UTC (rev 606) @@ -140,7 +140,7 @@ try: atr["TCK"] = atr_txt[last] except IndexError: - atr["TCK"] = -1; + atr["TCK"] = -1 last += 1 if len(atr_txt) > last: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-29 12:09:45
|
Revision: 605 http://pyscard.svn.sourceforge.net/pyscard/?rev=605&view=rev Author: ludov Date: 2012-09-29 12:09:39 +0000 (Sat, 29 Sep 2012) Log Message: ----------- Catch a IndexError exception Some ATR are bogus. For example: 3B EF 00 FF 81 31 00 45 65 63 is bogus. If we pad the ATR with 00 we have: ATR: 3B EF 00 FF 81 31 00 45 65 63 00 00 00 00 00 00 00 00 00 00 00 00 00 TS = 0x3B --> Direct Convention T0 = 0xEF --> Y(1): b1110, K: 15 (historical bytes) TB(1) = 0x00 --> VPP is not electrically connected TC(1) = 0xFF --> Extra guard time: 255 (special value) TD(1) = 0x81 --> Y(i+1) = b1000, Protocol T=1 ---- TD(2) = 0x31 --> Y(i+1) = b0011, Protocol T=1 ---- TA(3) = 0x00 --> IFSC: 0 TB(3) = 0x45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5 ---- Historical bytes --> 65 63 00 00 00 00 00 00 00 00 00 00 00 00 00 Category indicator byte: 0x65 --> (proprietary format) equivalent ASCII string: "c............." TCK = 0x-1 --> WRONG CHECKSUM, expected 0xE3 Possibly identified card: 3B EF 00 FF 81 31 .. 45 65 63 Debit card (Germany): ec-cash, GeldKarte(DEM), Maestro, Cirrus The ATR do NOT contain 15 of history. Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 17:12:42 UTC (rev 604) +++ trunk/contrib/parseATR/parseATR.py 2012-09-29 12:09:39 UTC (rev 605) @@ -137,7 +137,10 @@ # Store TCK last = pointer + 1 + hb_length if "TCK" in atr: - atr["TCK"] = atr_txt[last] + try: + atr["TCK"] = atr_txt[last] + except IndexError: + atr["TCK"] = -1; last += 1 if len(atr_txt) > last: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 17:12:48
|
Revision: 604 http://pyscard.svn.sourceforge.net/pyscard/?rev=604&view=rev Author: ludov Date: 2012-09-28 17:12:42 +0000 (Fri, 28 Sep 2012) Log Message: ----------- Fix formatting issue Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 16:08:56 UTC (rev 603) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 17:12:42 UTC (rev 604) @@ -517,11 +517,11 @@ if tag == 1: text.append(" (country code, ISO 3166-1)\n") - text.append(" Country code: " + toHexString(historical_bytes[:len])) + text.append(" Country code: %s\n" % toHexString(historical_bytes[:len])) elif tag == 2: text.append(" (issuer identification number, ISO 7812-1)\n") - text.append(" Issuer identification number: " + toHexString(historical_bytes[:len])) + text.append(" Issuer identification number: %s\n" % toHexString(historical_bytes[:len])) elif tag == 3: text.append(" (card service data byte)\n") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 16:09:07
|
Revision: 603 http://pyscard.svn.sourceforge.net/pyscard/?rev=603&view=rev Author: ludov Date: 2012-09-28 16:08:56 +0000 (Fri, 28 Sep 2012) Log Message: ----------- Use list() instead of [] Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 12:33:12 UTC (rev 602) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 16:08:56 UTC (rev 603) @@ -63,7 +63,7 @@ atr = atr.replace(":", "") atr = atr.replace(" ", "") - res = [] + res = list() while len(atr) >= 2: byte, atr = atr[:2], atr[2:] res.append(byte) @@ -289,7 +289,7 @@ def TCn(i, v): - text = [] + text = list() if (T == 1): text.append("Error detection code: ") if (v == 1): @@ -357,7 +357,7 @@ def data_coding(dc): # Table 87 - Second software function table (data coding byte) # ISO 7816-4:2004, page 60 - text = [] + text = list() if dc & 128: text.append(" - EF of TLV structure supported\n") @@ -381,7 +381,7 @@ def selection_methods(sm): # Table 86 - First software function table (selection methods) # ISO 7816-4:2004, page 60 - text = [] + text = list() if sm & 1: text.append(" - Record identifier supported\n") @@ -413,7 +413,7 @@ def selection_mode(sm): # Table 87 - Second software function table (data coding byte) # ISO 7816-4:2004, page 60 - text = [] + text = list() if sm & 1: text.append(" - Record identifier supported\n") @@ -445,7 +445,7 @@ def command_chaining(cc): # Table 88 - Third software function table (command chaining, length fields and logical channels) # ISO 7816-4:2004, page 61 - text = [] + text = list() if cc & 128: text.append(" - Command chaining\n") @@ -468,7 +468,7 @@ def card_service(cs): # Table 85 - Card service data byte # ISO 7816-4:2004, page 59 - text = [] + text = list() if cs & 128: text.append(" - Application selection: by full DF name\n") @@ -512,7 +512,7 @@ tag = tlv / 16 len = tlv % 16 - text = [] + text = list() text.append(" Tag: %d, Len: %d" % (tag, len)) if tag == 1: @@ -619,7 +619,7 @@ def analyse_histrorical_bytes(historical_bytes): - text = [] + text = list() # return if we have NO historical bytes if len(historical_bytes) == 0: @@ -704,7 +704,7 @@ def html_escape(text): """Produce entities within text.""" - L = [] + L = list() for c in text: L.append(html_escape_table.get(c, c)) return "".join(L) @@ -724,7 +724,7 @@ def atr_display(atr, colorize): - text = [] + text = list() TS = {0x3B: "Direct Convention", 0x3F: "Inverse Convention"} text.append(["TS = 0x%02X" % atr["TS"], TS.get(atr["TS"], "Invalid")]) @@ -771,7 +771,7 @@ def match_atr(atr, atr_file="smartcard_list.txt"): """ try to find card description for a given ATR """ - card = [] + card = list() atr = toHexString(normalize(atr)) file = open(atr_file) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 12:33:22
|
Revision: 602 http://pyscard.svn.sourceforge.net/pyscard/?rev=602&view=rev Author: ludov Date: 2012-09-28 12:33:12 +0000 (Fri, 28 Sep 2012) Log Message: ----------- parseATR.py:509:12: E711 comparison to None should be 'if cond is None:' parseATR.py:533:19: E711 comparison to None should be 'if cond is None:' Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 12:28:07 UTC (rev 601) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 12:33:12 UTC (rev 602) @@ -506,7 +506,7 @@ tlv = historical_bytes.pop(0) # return if we have NO historical bytes - if tlv == None: + if tlv is None: return text tag = tlv / 16 @@ -530,7 +530,7 @@ except IndexError: text.append("Error in the ATR: expecting 1 byte and got 0\n") else: - if cs == None: + if cs is None: text.append(" Error in the ATR: expecting 1 byte and got 0") else: text.append(" Card service data byte: %d\n" % cs) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 12:28:13
|
Revision: 601 http://pyscard.svn.sourceforge.net/pyscard/?rev=601&view=rev Author: ludov Date: 2012-09-28 12:28:07 +0000 (Fri, 28 Sep 2012) Log Message: ----------- parseATR.py:436:7: E271 multiple spaces after keyword Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 12:27:11 UTC (rev 600) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 12:28:07 UTC (rev 601) @@ -433,7 +433,7 @@ if sm & 32: text.append(" - DF selection by path\n") - if sm & 64: + if sm & 64: text.append(" - DF selection by partial DF name\n") if sm & 128: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 12:27:21
|
Revision: 600 http://pyscard.svn.sourceforge.net/pyscard/?rev=600&view=rev Author: ludov Date: 2012-09-28 12:27:11 +0000 (Fri, 28 Sep 2012) Log Message: ----------- Display ASCII strings for multi-bytes values After most of the hex dumps of data we also display an ASCII string equivalent since the data may be or contain text. Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 09:23:49 UTC (rev 599) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 12:27:11 UTC (rev 600) @@ -538,15 +538,21 @@ elif tag == 4: text.append(" (initial access data)\n") - text.append(" Initial access data: " + toHexString(historical_bytes[:len]) + "\n") + text.append(" Initial access data: " + + toHexString(historical_bytes[:len]) + " \"" + + toASCIIString(historical_bytes[:len]) + "\"\n") elif tag == 5: text.append(" (card issuer's data)\n") - text.append(" Card issuer data: " + toHexString(historical_bytes[:len]) + "\n") + text.append(" Card issuer data: " + + toHexString(historical_bytes[:len]) + " \"" + + toASCIIString(historical_bytes[:len]) + "\"\n") elif tag == 6: text.append(" (pre-issuing data)\n") - text.append(" Data: " + toHexString(historical_bytes[:len]) + "\n") + text.append(" Data: " + + toHexString(historical_bytes[:len]) + " \"" + + toASCIIString(historical_bytes[:len]) + "\"\n") elif tag == 7: text.append(" (card capabilities)\n") @@ -596,11 +602,15 @@ elif tag == 15: text.append(" (application identifier)\n") - text.append(" Application identifier: " + toHexString(historical_bytes[:len])) + text.append(" Application identifier: " + + toHexString(historical_bytes[:len]) + " \"" + + toASCIIString(historical_bytes[:len]) + "\"\n") else: text.append(" (unknown)\n") - text.append(" Value: " + toHexString(historical_bytes[:len])) + text.append(" Value: " + + toHexString(historical_bytes[:len]) + " \"" + + toASCIIString(historical_bytes[:len]) + "\"\n") # consume len bytes of historic del historical_bytes[0:len] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 09:23:59
|
Revision: 599 http://pyscard.svn.sourceforge.net/pyscard/?rev=599&view=rev Author: ludov Date: 2012-09-28 09:23:49 +0000 (Fri, 28 Sep 2012) Log Message: ----------- Use toASCIIString() to factorize code Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-28 09:20:26 UTC (rev 598) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 09:23:49 UTC (rev 599) @@ -654,13 +654,9 @@ else: text.append(" (proprietary format)") ascii = " equivalent ASCII string: \"" - for b in historical_bytes: - if b > 31 and b < 127: - ascii += chr(b) - else: - ascii += '.' + ascii += toASCIIString(historical_bytes) ascii += '"' - text.append(''.join(ascii)) + text.append(ascii) return text This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-28 09:20:32
|
Revision: 598 http://pyscard.svn.sourceforge.net/pyscard/?rev=598&view=rev Author: ludov Date: 2012-09-28 09:20:26 +0000 (Fri, 28 Sep 2012) Log Message: ----------- Add toASCIIString() function Convert a list of bytes to an ASCII string Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-09-27 16:41:06 UTC (rev 597) +++ trunk/contrib/parseATR/parseATR.py 2012-09-28 09:20:26 UTC (rev 598) @@ -43,6 +43,17 @@ return " ".join(["%02X" % b for b in bytes]) +def toASCIIString(bytes): + """ return a string """ + ascii = "" + for b in bytes: + if b > 31 and b < 127: + ascii += chr(b) + else: + ascii += '.' + return ascii + + def normalize(atr): """ transform an ATR in list of integers valid input formats are This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lu...@us...> - 2012-09-27 16:41:12
|
Revision: 597 http://pyscard.svn.sourceforge.net/pyscard/?rev=597&view=rev Author: ludov Date: 2012-09-27 16:41:06 +0000 (Thu, 27 Sep 2012) Log Message: ----------- Make it clear the text is the equivalent ASCII string Historical Bytes in proprietary format are also displayed as an ASCII string. Modified Paths: -------------- trunk/contrib/parseATR/parseATR.py Modified: trunk/contrib/parseATR/parseATR.py =================================================================== --- trunk/contrib/parseATR/parseATR.py 2012-04-08 11:07:18 UTC (rev 596) +++ trunk/contrib/parseATR/parseATR.py 2012-09-27 16:41:06 UTC (rev 597) @@ -642,12 +642,13 @@ else: text.append(" (proprietary format)") - ascii = " " + ascii = " equivalent ASCII string: \"" for b in historical_bytes: if b > 31 and b < 127: ascii += chr(b) else: ascii += '.' + ascii += '"' text.append(''.join(ascii)) return text This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2012-06-19 12:37:54
|
Support Requests item #3163588, was opened at 2011-01-21 12:20 Message generated for change (Settings changed) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Priority: 5 Private: No Submitted By: Andrew Elwell (elwell2000) Assigned to: Nobody/Anonymous (nobody) Summary: Licence Clarification Initial Comment: Hi, I've been trying to bundle pyscard for Fedora (see https://bugzilla.redhat.com/show_bug.cgi?id=663102 ) however, during the package review some licence issues were uncovered. Basically: smartcard/ClassLoader.py smartcard/Observer.py smartcard/Synchronization.py smartcard/scard/pyscard-reader.h Don't seem to be covered under the same licence - have you had any correspondence with the original authors about them? Many thanks for any input you can provide -- see the bugzilla ticket (comment #9) for more info. Andrew ---------------------------------------------------------------------- Comment By: jean-daniel aussel (jdaussel) Date: 2012-06-19 05:37 Message: proper authorization has been asked to Bruce Eckel of Mindview on Oct. 20, 2011 and obtained on Nov. 2, 2011. ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 07:04 Message: date: Thu Oct 20 19:55:21 2011 +0000 summary: ClassLoader is under the PSF license Observer.py and Syncronoization.py is from Thinking in Python, Bruce Eckel http://mindview.net/Books/TIPython (partly crediting Peter Norvig) . The license is unclear, and arguably pyscard do not have any license to ship it. Has any attempt been made at contacting Bruce? ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 06:17 Message: Any news for the rest of the files? ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 05:11 Message: Problem now fixed for the file smartcard/scard/pyscard-reader.h ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 |
From: SourceForge.net <no...@so...> - 2012-06-19 12:37:37
|
Support Requests item #3163588, was opened at 2011-01-21 12:20 Message generated for change (Comment added) made by jdaussel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Priority: 5 Private: No Submitted By: Andrew Elwell (elwell2000) Assigned to: Nobody/Anonymous (nobody) Summary: Licence Clarification Initial Comment: Hi, I've been trying to bundle pyscard for Fedora (see https://bugzilla.redhat.com/show_bug.cgi?id=663102 ) however, during the package review some licence issues were uncovered. Basically: smartcard/ClassLoader.py smartcard/Observer.py smartcard/Synchronization.py smartcard/scard/pyscard-reader.h Don't seem to be covered under the same licence - have you had any correspondence with the original authors about them? Many thanks for any input you can provide -- see the bugzilla ticket (comment #9) for more info. Andrew ---------------------------------------------------------------------- >Comment By: jean-daniel aussel (jdaussel) Date: 2012-06-19 05:37 Message: proper authorization has been asked to Bruce Eckel of Mindview on Oct. 20, 2011 and obtained on Nov. 2, 2011. ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 07:04 Message: date: Thu Oct 20 19:55:21 2011 +0000 summary: ClassLoader is under the PSF license Observer.py and Syncronoization.py is from Thinking in Python, Bruce Eckel http://mindview.net/Books/TIPython (partly crediting Peter Norvig) . The license is unclear, and arguably pyscard do not have any license to ship it. Has any attempt been made at contacting Bruce? ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 06:17 Message: Any news for the rest of the files? ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 05:11 Message: Problem now fixed for the file smartcard/scard/pyscard-reader.h ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 |
From: SourceForge.net <no...@so...> - 2012-06-15 14:04:31
|
Support Requests item #3163588, was opened at 2011-01-21 12:20 Message generated for change (Comment added) made by You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Priority: 5 Private: No Submitted By: Andrew Elwell (elwell2000) Assigned to: Nobody/Anonymous (nobody) Summary: Licence Clarification Initial Comment: Hi, I've been trying to bundle pyscard for Fedora (see https://bugzilla.redhat.com/show_bug.cgi?id=663102 ) however, during the package review some licence issues were uncovered. Basically: smartcard/ClassLoader.py smartcard/Observer.py smartcard/Synchronization.py smartcard/scard/pyscard-reader.h Don't seem to be covered under the same licence - have you had any correspondence with the original authors about them? Many thanks for any input you can provide -- see the bugzilla ticket (comment #9) for more info. Andrew ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 07:04 Message: date: Thu Oct 20 19:55:21 2011 +0000 summary: ClassLoader is under the PSF license Observer.py and Syncronoization.py is from Thinking in Python, Bruce Eckel http://mindview.net/Books/TIPython (partly crediting Peter Norvig) . The license is unclear, and arguably pyscard do not have any license to ship it. Has any attempt been made at contacting Bruce? ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 06:17 Message: Any news for the rest of the files? ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 05:11 Message: Problem now fixed for the file smartcard/scard/pyscard-reader.h ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 |
From: SourceForge.net <no...@so...> - 2012-06-15 13:17:42
|
Support Requests item #3163588, was opened at 2011-01-21 12:20 Message generated for change (Comment added) made by You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Priority: 5 Private: No Submitted By: Andrew Elwell (elwell2000) Assigned to: Nobody/Anonymous (nobody) Summary: Licence Clarification Initial Comment: Hi, I've been trying to bundle pyscard for Fedora (see https://bugzilla.redhat.com/show_bug.cgi?id=663102 ) however, during the package review some licence issues were uncovered. Basically: smartcard/ClassLoader.py smartcard/Observer.py smartcard/Synchronization.py smartcard/scard/pyscard-reader.h Don't seem to be covered under the same licence - have you had any correspondence with the original authors about them? Many thanks for any input you can provide -- see the bugzilla ticket (comment #9) for more info. Andrew ---------------------------------------------------------------------- Comment By: kiilerix (gmail) () Date: 2012-06-15 06:17 Message: Any news for the rest of the files? ---------------------------------------------------------------------- Comment By: Ludovic Rousseau (ludov) Date: 2011-10-19 05:11 Message: Problem now fixed for the file smartcard/scard/pyscard-reader.h ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=957073&aid=3163588&group_id=196342 |