New PyKCS11 1.5.2 available
I just released a new version of PyKCS11, a Python wrapper above the PKCS#11 API.
See "PyKCS11 introduction".
Changes:
1.5.2 - April 2018, Ludovic Rousseau- Fix
initPin() - add tests for
initPin(),setPin(),initToken()
I just released a new version of PyKCS11, a Python wrapper above the PKCS#11 API.
See "PyKCS11 introduction".
initPin()
initPin(), setPin(), initToken()
I just released a new version of PyKCS11, a Python wrapper above the PKCS#11 API.
See "PyKCS11 introduction".
I just released a new version of PyKCS11, a Python wrapper above the PKCS#11 API.
See "PyKCS11 introduction".
CK_UTF8CHAR PKCS#11 types. The behaviour is now the same as with Python 2CKM_RSA_PKCS_PSS.ckbytelist: remove possibility to give a initial sizeWith the decommissioning of alioth.debian.org I had to move the web site to a new place.
In a previous article "Level 1 smart card support on Mac OS X" I described some simple commands to check if the smart card stack is working correctly on a macOS system.
By re-reading the presentation "Working with Smart Cards: macOS and Security" by Richard Purves I discovered a new command.
I already knew "system_profiler SPUSBDataType" to list the USB devices. I mentioned it in "Level 1 smart card support on Mac OS X" to check the USB reader is seen by the system. But system_profiler provides a better command for smart cards.
system_profiler SPSmartCardsDataType$ system_profiler SPSmartCardsDataType
SmartCards:
Readers:
#01: Cherry KC 1000 SC (ATR:<3b7f9600 00803180 65b08441 3df612ff fe829000>)
Reader Drivers:
#01: org.debian.alioth.pcsclite.smartcardccid:1.4.27 (/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle)
Tokend Drivers:
SmartCard Drivers:
#01: com.apple.CryptoTokenKit.pivtoken:1.0 (/System/Library/Frameworks/CryptoTokenKit.framework/PlugIns/pivtoken.appex)
Available SmartCards (keychain):
Available SmartCards (token):
$ system_profiler SPSmartCardsDataType
SmartCards:
Readers:
#01: Gemalto PC Twin Reader (ATR:<3b7f9600 00803180 65b08503 00ef120f fe829000>)
Reader Drivers:
#01: org.debian.alioth.pcsclite.smartcardccid:1.4.27 (/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle)
#02: com.SafeNet.eTokenIfdh:9.0.0.0 (/Library/Frameworks/eToken.framework/Versions/A/aks-ifdh.bundle)
#03: com.gemalto.ifd-bccid:1.0 (/usr/local/libexec/SmartCardServices/drivers/ifd-bccid.bundle)
#04: org.debian.alioth.pcsclite.smartcardccid:1.4.27 (/usr/local/libexec/SmartCardServices/drivers/ifd-ccid-SafeNet-eToken5300.bundle)
#05: (null):(null) (/Library/Frameworks/eToken.framework/Versions/A/ikey-ifdh.bundle)
Tokend Drivers:
#01: com.Safenet.eTokend:9.0 (/Library/Frameworks/eToken.framework/Versions/A/eTokend.tokend)
SmartCard Drivers:
#01: com.apple.CryptoTokenKit.pivtoken:1.0 (/System/Library/Frameworks/CryptoTokenKit.framework/PlugIns/pivtoken.appex)
#02: com.gemalto.Gemalto-Smart-Card-Token.PKCS11-Token:1.0 (/Library/Frameworks/eToken.framework/Versions/A/SafeNet Authentication Client.app/Contents/PlugIns/PKCS11 Token.appex)
Available SmartCards (keychain):
com.gemalto.Gemalto-Smart-Card-Token.PKCS11-Token:9A522A4489DFA3DE:
#01: Kind: private RSA 2048-bit, Certificate: <1cc4a99c 25e2b4eb 381850d2 e8e7a9a8 8d258b31>, Usage: Sign Decrypt Unwrap
#02: Kind: private RSA 2048-bit, Certificate: <425fa8c1 27ad75a1 aec73183 2b053b41 38befe7f>, Usage: Sign Decrypt Unwrap
#03: Kind: private RSA 4096-bit, Certificate: <16b5321b d4c7f3e0 e68ef3bd d2b03aee b23918d1>, Usage: Sign Decrypt Unwrap
#04: Kind: private RSA 4096-bit, Certificate: <16b5321b d4c7f3e0 e68ef3bd d2b03aee b23918d1>, Usage: Sign Decrypt Unwrap
#05: Kind: private RSA 2048-bit, Certificate: <31fde547 b4ca58d4 7b6231c2 62730efd 8c7538a1>, Usage: Sign Derive Decrypt Unwrap
Available SmartCards (token):
com.gemalto.Gemalto-Smart-Card-Token.PKCS11-Token:9A522A4489DFA3DE:
#01: Kind: private RSA 2048-bit, Certificate: <1cc4a99c 25e2b4eb 381850d2 e8e7a9a8 8d258b31>, Usage: Sign Decrypt Unwrap
#02: Kind: private RSA 2048-bit, Certificate: <425fa8c1 27ad75a1 aec73183 2b053b41 38befe7f>, Usage: Sign Decrypt Unwrap
#03: Kind: private RSA 4096-bit, Certificate: <16b5321b d4c7f3e0 e68ef3bd d2b03aee b23918d1>, Usage: Sign Decrypt Unwrap
#04: Kind: private RSA 2048-bit, Certificate: <31fde547 b4ca58d4 7b6231c2 62730efd 8c7538a1>, Usage: Sign Derive Decrypt Unwrap
#05: Certificate <1a222d8f 7458d082 d413fbdb 40c85f56 f48def63>
pcsctest.I just released a version 1.4.29 of libccid the Free Software CCID class smart card reader driver.
Changes:
1.4.29 - 21 February 2018, Ludovic Rousseau
Some smart card applications need to detect when a card is inserted or a reader is added to the system. One way to solve the problem is to call SCardListReaders() and SCardGetStatusChange() in a loop.
LONG SCardListReaders( SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders )
mszReaders is a multi-string containing the list of readers.LONG SCardGetStatusChange( SCARDCONTEXT hContext, DWORD dwTimeout, SCARD_READERSTATE * rgReaderStates, DWORD cReaders )
rgReaderStates. See the function documentation for more details.dwTimeout is a timeout in milliseconds. The function will block until the timeout expires or a change is reported.SCardEstablishContext i dwScope: SCARD_SCOPE_SYSTEM (0x00000002) o hContext: 0x40DB4852 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000189] SCardListReaders i hContext: 0x40DB4852 i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000090] SCardReleaseContext i hContext: 0x40DB4852 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000032] SCardEstablishContext i dwScope: SCARD_SCOPE_SYSTEM (0x00000002) o hContext: 0x21793B9A => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000294] SCardListReaders i hContext: 0x21793B9A i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000124] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000014] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000047] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000035] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000037] SCardListReaders i hContext: 0x21793B9A i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000186] [... lots of similar lines removed...] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000014] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000034] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000046] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000035] SCardListReaders i hContext: 0x21793B9A i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000160] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000014] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000036] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000035] SCardGetStatusChange i hContext: 0x21793B9A i dwTimeout: 0x000000C8 (200) i cReaders: 0 => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000037] Thread 1/2 Results sorted by total execution time total time: 10.209201 sec 0.000189 sec ( 1 calls) 0.00% SCardEstablishContext 0.000090 sec ( 1 calls) 0.00% SCardListReaders 0.000032 sec ( 1 calls) 0.00% SCardReleaseContext Thread 2/2 Results sorted by total execution time total time: 10.209201 sec 0.002053 sec ( 13 calls) 0.02% SCardListReaders 0.001655 sec ( 52 calls) 0.02% SCardGetStatusChange 0.000294 sec ( 1 calls) 0.00% SCardEstablishContext
SCardEstablishContext i dwScope: SCARD_SCOPE_SYSTEM (0x00000002) o hContext: 0x4D0F7F8C => Command successful. (SCARD_S_SUCCESS [0x00000000]) [0.000321] SCardGetStatusChange i hContext: 0x4D0F7F8C i dwTimeout: 0x00000000 (0) i cReaders: 1 i szReader: \\?PnP?\Notification i dwCurrentState: (0x00000000) i dwEventState: SCARD_STATE_UNKNOWN, SCARD_STATE_UNAVAILABLE, SCARD_STATE_EXCLUSIVE, SCARD_STATE_INUSE, SCARD_STATE_MUTE, SCARD_STATE_PRESENT, SCARD_STATE_ATRMATCH (0x55FD66A4FBEC) i Atr length: 0x55FD66A4FBF2 (94546837175282) i Atr: NULL o szReader: \\?PnP?\Notification o dwCurrentState: (0x00000000) o dwEventState: (0x00000000) o Atr length: 0x55FD66A4FBF2 (94546837175282) o Atr: NULL => Command timeout. (SCARD_E_TIMEOUT [0x8010000A]) [0.000379] SCardListReaders i hContext: 0x4D0F7F8C i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: NULL => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000129] SCardListReaders i hContext: 0x4D0F7F8C i mszGroups: (null) o pcchReaders: 0x00000001 o mszReaders: => Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE [0x8010002E]) [0.000098] SCardGetStatusChange i hContext: 0x4D0F7F8C i dwTimeout: 0xFFFFFFFF (4294967295) i cReaders: 1 i szReader: \\?PnP?\Notification i dwCurrentState: (0x00000000) i dwEventState: (0x00000000) i Atr length: 0x55FD66A4FBF2 (94546837175282) i Atr: NULL Thread 1/1 Results sorted by total execution time total time: -1.000000 sec 0.000379 sec ( 1 calls) -0.04% SCardGetStatusChange 0.000321 sec ( 1 calls) -0.03% SCardEstablishContext 0.000227 sec ( 2 calls) -0.02% SCardListReaders
SCardListReaders() and 2 calls to SCardGetStatusChange(). The second SCardGetStatusChange() call was interrupted after 10 seconds of execution (using Control-C). That is why the returned values of SCardGetStatusChange() are not logged.\\?PnP?\Notification by pcsc_scan.SCardGetStatusChange() is perfect to detect card events in the selected readers. But how to know when a new reader has been connected? When PC/SC was designed (PC/SC specification 1.0 released in 1996) most smart card readers were (mostly) serial readers. USB was not yet deployed (USB 1.0 specification were also released in 1996). (Serial) reader hotplug was not a use case at that time. So it is not surprising this use case is not handled by PC/SC.SCardGetStatusChange() to generate associated events when a reader is added or removed. So no need to continuously call SCardListReaders() as it is the case with the first application.\\?PnP?\Notification since a long time.\\?PnP?\Notification since version 1.6.0 released in May 2010.\\?PnP?\Notification reader name. I opened a bug for that in 2015 (see "OS X El Capitan missing feature: SCardGetStatusChange() and "\\?PnP?\Notification"") but nothing changed since then.SCardListReaders() to detect a reader connection or disconnection.\\?PnP?\Notification when possible (so on Windows and Unix except macOS).SCardGetStatusChange(). So if you redo the experiment with a recent pcsc_scan you will see one SCardGetStatusChange() call every second.SCardGetStatusChange() no need to also call SCardListReaders() every second.SCardGetStatusChange() to return before the end of the timeout you must use SCardCancel() from another thread of the application.INFINITE) and use SCardCancel() when needed.\\?PnP?\Notification in your applications. You may not save the world but you will save a few CPU cycles.
As I did in 2009, 2010, 2011, 2012, 2013, 2014, 2015 ans 2016 I propose some statistics of the MUSCLE mailing list usage.
| Year | Total number of messages | Progression |
| 2009 | 603 | |
| 2010 | 718 | +19 % |
| 2011 | 999 | +39 % |
| 2012 | 207 | -79 % |
| 2013 | 198 | -4 % |
| 2014 | 194 | -2 % |
| 2014 | 194 | -2 % |
| 2015 | 120 | -38 % |
| 2016 | 125 | +4 % |
| 2017 | 128 | +2 % |
| Author | Msg | Percent |
|
| 1 | ludovic.rousseau@gmail.com | 54 | 42.19 % |
| 2 | wully@bluewin.ch | 7 | 5.47 % |
| 3 | ludovic.rousseau@free.fr | 7 | 5.47 % |
| 4 | hemanth.sahara@gmail.com | 6 | 4.69 % |
| 5 | wpichler@callino.at | 4 | 3.12 % |
| 6 | olivier.revillon@akka.eu | 4 | 3.12 % |
| 7 | maximilian.stein@secunet.com | 3 | 2.34 % |
| 8 | fdeybach@gmail.com | 3 | 2.34 % |
| 9 | pcsclite@madingley.org | 3 | 2.34 % |
| 10 | martin@martinpaljak.net | 3 | 2.34 % |
| 11 | godfreyhkchung@gmail.com | 3 | 2.34 % |
| 12 | nmav@redhat.com | 2 | 1.56 % |
| 13 | euidzero@gmail.com | 2 | 1.56 % |
| 14 | fmarchal@perso.be | 2 | 1.56 % |
| 15 | frankmorgner@gmail.com | 2 | 1.56 % |
| 16 | mauro@faresoftware.it | 2 | 1.56 % |
| 17 | mvogt1@gmail.com | 2 | 1.56 % |
| 18 | ivo.raisr@oracle.com | 1 | 0.78 % |
| 19 | emaxx@google.com | 1 | 0.78 % |
| 20 | uv.wildner.ext@openlimit.com | 1 | 0.78 % |
| 21 | git@madingley.org | 1 | 0.78 % |
| 22 | robinlambertz+dev@gmail.com | 1 | 0.78 % |
| 23 | nonomos@mail.com | 1 | 0.78 % |
| 24 | carsten.blueggel@freenet.de | 1 | 0.78 % |
| 25 | mstjohns@comcast.net | 1 | 0.78 % |
| 26 | szempy@gmail.com | 1 | 0.78 % |
| 27 | gokcenur.canli@udea.com.tr | 1 | 0.78 % |
| 28 | y.bulbul@hotmail.com | 1 | 0.78 % |
| 29 | fgrieu@gmail.com | 1 | 0.78 % |
| 30 | wrosenauer@gmail.com | 1 | 0.78 % |
| other | 6 | 4.69 % |
| Author | KBytes |
|
| 1 | ludovic.rousseau@gmail.com | 686.4 |
| 2 | nonomos@mail.com | 196.6 |
| 3 | wully@bluewin.ch | 92.3 |
| 4 | git@madingley.org | 92.1 |
| 5 | hemanth.sahara@gmail.com | 68.4 |
| 6 | ludovic.rousseau@free.fr | 61.5 |
| 7 | mauro@faresoftware.it | 56.8 |
| 8 | nmav@redhat.com | 52.6 |
| 9 | fmarchal@perso.be | 34.9 |
| 10 | godfreyhkchung@gmail.com | 34.5 |
| 11 | frankmorgner@gmail.com | 32.6 |
| 12 | martin@martinpaljak.net | 26.4 |
| 13 | pcsclite@madingley.org | 26.1 |
| 14 | Rajan.Gurjar@ll.mit.edu | 24.8 |
| 15 | y.bulbul@hotmail.com | 22.4 |
| 16 | mvogt1@gmail.com | 20.3 |
| 17 | maximilian.stein@secunet.com | 19.0 |
| 18 | wpichler@callino.at | 18.0 |
| 19 | mstjohns@comcast.net | 17.1 |
| 20 | fdeybach@gmail.com | 16.7 |
| 21 | mickamusset@gmail.com | 16.5 |
| 22 | euidzero@gmail.com | 15.9 |
| 23 | wrosenauer@gmail.com | 15.6 |
| 24 | 00cpxxx@gmail.com | 13.8 |
| 25 | carsten.blueggel@freenet.de | 13.7 |
| 26 | "Denniston, Todd A CIV NAVSURFWARCENDIV Crane, JXVS" |
13.0 |
| 27 | dwmw2@infradead.org | 9.9 |
| 28 | olivier.revillon@akka.eu | 9.8 |
| 29 | fgrieu@gmail.com | 8.5 |
| 30 | emaxx@google.com | 7.4 |
| Author | bytes |
|
| 1 | nonomos@mail.com | 201306 |
| 2 | git@madingley.org | 94335 |
| 3 | mauro@faresoftware.it | 29074 |
| 4 | nmav@redhat.com | 26924 |
| 5 | Rajan.Gurjar@ll.mit.edu | 25445 |
| 6 | y.bulbul@hotmail.com | 22970 |
| 7 | fmarchal@perso.be | 17881 |
| 8 | mstjohns@comcast.net | 17501 |
| 9 | mickamusset@gmail.com | 16876 |
| 10 | frankmorgner@gmail.com | 16685 |
| 11 | wrosenauer@gmail.com | 15995 |
| 12 | 00cpxxx@gmail.com | 14142 |
| 13 | carsten.blueggel@freenet.de | 14001 |
| 14 | wully@bluewin.ch | 13495 |
| 15 | "Denniston, Todd A CIV NAVSURFWARCENDIV Crane, JXVS" |
13337 |
| 16 | ludovic.rousseau@gmail.com | 13015 |
| 17 | godfreyhkchung@gmail.com | 11792 |
| 18 | hemanth.sahara@gmail.com | 11670 |
| 19 | mvogt1@gmail.com | 10396 |
| 20 | dwmw2@infradead.org | 10099 |
| 21 | martin@martinpaljak.net | 9024 |
| 22 | ludovic.rousseau@free.fr | 8999 |
| 23 | pcsclite@madingley.org | 8920 |
| 24 | fgrieu@gmail.com | 8725 |
| 25 | euidzero@gmail.com | 8166 |
| 26 | emaxx@google.com | 7601 |
| 27 | maximilian.stein@secunet.com | 6480 |
| 28 | robinlambertz+dev@gmail.com | 5834 |
| 29 | fdeybach@gmail.com | 5694 |
| 30 | ivo.raisr@oracle.com | 5613 |
| Subject | Msg | Percent |
|
| 1 | [Pcsclite-muscle] Gemalto (was Gemplus) GemPC Key SmartCard |
12 | 9.38 % |
| 2 | [Pcsclite-muscle] Serial non-usb readers - Help required |
8 | 6.25 % |
| 3 | [Pcsclite-muscle] Cyberjack e-com on openSuse 42.2 fails |
7 | 5.47 % |
| 4 | [Pcsclite-muscle] How to replace/move the MUSCLE mailing list? |
6 | 4.69 % |
| 5 | [Pcsclite-muscle] max length of randomLen for C_GenerateRandom |
5 | 3.91 % |
| 6 | [Pcsclite-muscle] Jinmuyu MR800 card reader problem |
5 | 3.91 % |
| 7 | [Pcsclite-muscle] pcsc_stringify_error thread safety |
4 | 3.12 % |
| 8 | [Pcsclite-muscle] Race condition with SCardGetStatusChange() when |
4 | 3.12 % |
| 9 | [Pcsclite-muscle] Cherry kc sc 1000 |
4 | 3.12 % |
| 10 | [Pcsclite-muscle] Real time issue for register / unregister to |
4 | 3.12 % |
| 11 | [Pcsclite-muscle] How to Identify USB devices on linux/ubuntu/debian |
3 | 2.34 % |
| 12 | [Pcsclite-muscle] omnikey 3121 and long APDUs |
3 | 2.34 % |
| 13 | [Pcsclite-muscle] SCardConnect() returns unresponsive card |
3 | 2.34 % |
| 14 | [Pcsclite-muscle] RFC - one old and one new bluetooth device |
3 | 2.34 % |
| 15 | [Pcsclite-muscle] CCID_Receive Card absent or mute |
3 | 2.34 % |
| 16 | [Pcsclite-muscle] Yubikey init failed |
2 | 1.56 % |
| 17 | [Pcsclite-muscle] libccid IFDHControl() / CmdEscape() might |
2 | 1.56 % |
| 18 | [Pcsclite-muscle] ACS ACR122U A9 issues |
2 | 1.56 % |
| 19 | [Pcsclite-muscle] Building CCID from Github encounters error |
2 | 1.56 % |
| 20 | [Pcsclite-muscle] More smart cards compile problem |
2 | 1.56 % |
| 21 | [Pcsclite-muscle] PCSC-LITE more than one Card Reader. |
2 | 1.56 % |
| 22 | [Pcsclite-muscle] EZ100PU/PR Linux 64 bit |
2 | 1.56 % |
| 23 | [Pcsclite-muscle] How to find out which process is accessing the card? |
2 | 1.56 % |
| 24 | [Pcsclite-muscle] Fujitsu D323 Reader properties |
2 | 1.56 % |
| 25 | [Pcsclite-muscle] New pcsc-lite 1.8.23 |
2 | 1.56 % |
| 26 | [Pcsclite-muscle] problem with scanning OMNIKEY card |
2 | 1.56 % |
| 27 | New version of libccid: 1.4.26 |
1 | 0.78 % |
| 28 | [Pcsclite-muscle] generic drivers? |
1 | 0.78 % |
| 29 | [Pcsclite-muscle] Data races related to SCardCancel |
1 | 0.78 % |
| 30 | [Pcsclite-muscle] How to Identify USB devices on |
1 | 0.78 % |
| other | 28 | 21.88 % |
| Mailer | Msg | Percent |
|
| 1 | (unknown) | 83 | 64.84 % |
| 2 | Mozilla/5.x | 27 | 21.09 % |
| 3 | Zimbra 8.6.0_GA_1153 (ZimbraWebClient - FF50 (Linux)/8.6.0_GA_1153) |
4 | 3.12 % |
| 4 | Mutt | 4 | 3.12 % |
| 5 | Apple Mail (2.3273) |
3 | 2.34 % |
| 6 | KMail | 2 | 1.56 % |
| 7 | K-9 Mail for Android |
1 | 0.78 % |
| 8 | Apple Mail (2.3259) |
1 | 0.78 % |
| 9 | Evolution 3.18.5.2-0ubuntu3.2 |
1 | 0.78 % |
| 10 | Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Mac)/7.2.0-GA2598) |
1 | 0.78 % |
| other | 1 | 0.78 % |
| Author | Percent |
|
| 1 | szempy@gmail.com | 30.71 % |
| 2 | fdeybach@gmail.com | 22.80 % |
| 3 | olivier.revillon@akka.eu | 21.25 % |
| 4 | wpichler@callino.at | 20.87 % |
| 5 | gokcenur.canli@udea.com.tr | 20.24 % |
| 6 | 00cpxxx@gmail.com | 16.28 % |
| 7 | euidzero@gmail.com | 16.13 % |
| 8 | robinlambertz+dev@gmail.com | 15.63 % |
| 9 | mauro@faresoftware.it | 12.66 % |
| 10 | pcsclite@madingley.org | 11.36 % |
| 11 | martin@martinpaljak.net | 11.04 % |
| 12 | frankmorgner@gmail.com | 10.86 % |
| 13 | maximilian.stein@secunet.com | 10.19 % |
| 14 | carsten.blueggel@freenet.de | 10.12 % |
| 15 | fmarchal@perso.be | 9.44 % |
| 16 | fgrieu@gmail.com | 8.31 % |
| 17 | ludovic.rousseau@gmail.com | 8.21 % |
| 18 | Rajan.Gurjar@ll.mit.edu | 7.66 % |
| 19 | uv.wildner.ext@openlimit.com | 7.41 % |
| 20 | ivo.raisr@oracle.com | 7.06 % |
| 21 | y.bulbul@hotmail.com | 5.94 % |
| 22 | ludovic.rousseau@free.fr | 5.68 % |
| 23 | "Denniston, Todd A CIV NAVSURFWARCENDIV Crane, JXVS" |
5.51 % |
| 24 | mvogt1@gmail.com | 3.50 % |
| 25 | wully@bluewin.ch | 3.44 % |
| 26 | mstjohns@comcast.net | 3.44 % |
| 27 | hemanth.sahara@gmail.com | 2.95 % |
| 28 | dwmw2@infradead.org | 2.06 % |
| 29 | godfreyhkchung@gmail.com | 0.80 % |
| 30 | nonomos@mail.com | 0.24 % |
| average | 6.75 % |
| msgs |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
3 |
12![]() |
11![]() |
12![]() |
8![]() |
9![]() |
13![]() |
10![]() |
13![]() |
6![]() |
8![]() |
3 |
5![]() |
6![]() |
3 |
2 |
| hour |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| msgs |
0 |
1 |
1 |
4![]() |
6![]() |
4![]() |
3 |
2 |
2 |
1 |
5![]() |
2 |
10![]() |
4![]() |
5![]() |
4![]() |
7![]() |
12![]() |
5![]() |
6![]() |
6![]() |
5![]() |
3 |
5![]() |
0 |
2 |
4![]() |
7![]() |
5![]() |
5![]() |
0 |
| day |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| msgs |
19![]() |
18![]() |
17![]() |
30![]() |
20![]() |
7 |
16![]() |
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| Author : | ludovic.rousseau@gmail.com |
| Subject : | [Pcsclite-muscle] pcsc_stringify_error thread safety |
| Date : | Wed, 18 Jan 2017 14:41:40 +0100 |
| Quote ratio: | 37.61% / 8049 bytes |
| Author : | nonomos@mail.com |
| Subject : | [Pcsclite-muscle] configure gives config.sub error |
| Date : | Tue, 11 Apr 2017 10:49:09 +0200 |
| Size : | 201795 bytes |
| Subject : | [Pcsclite-muscle] Gemalto (was Gemplus) GemPC Key SmartCard |
| No. of msgs: | 12 |
| Total size : | 163507 bytes |
| Total number of messages: | 128 |
| Total number of different authors: | 35 |
| Total number of different subjects: | 57 |
| Total size of messages (w/o headers): | 1915107 bytes |
| Average size of a message: | 14961 bytes |
| Input file last updated: Mon Jan 1 17:34:39 2018 |
Generated by MailListStat v1.3 |
Dear readers,
I wish you a happy new year for 2018.
In 2017 I published 34 articles on this blog (49 in 2017 and 51 in 2016). It is decreasing.
I just released a new version of pcsc-lite 1.8.23.
pcsc-lite is a Free Software implementation of the PC/SC (or WinSCard) API for Unix systems.
Changes:
1.8.23: Ludovic Rousseau
18 December 2017
SCardStatus() with NULL pcbAtrLen