- Apr 10, 2025
-
-
Ludovic Rousseau authored
The unsigned char buffer[] must have size of (at least) SIZE_GET_SLOT_STATUS. Thanks to Ran Benita for the patch " Avoid LIBUSB_ERROR_OVERFLOW errors #164 " https://github.com/LudovicRousseau/CCID/pull/164
-
- Mar 28, 2025
-
-
Ludovic Rousseau authored
-
- Mar 27, 2025
-
-
Stephan Guilloux authored
-
- Mar 25, 2025
-
-
Ludovic Rousseau authored
-
- Mar 19, 2025
-
-
Ludovic Rousseau authored
Signed-off-by:
Ludovic Rousseau <ludovic.rousseau@free.fr>
-
Ludovic Rousseau authored
-
- Mar 05, 2025
-
-
Ludovic Rousseau authored
-
- Feb 28, 2025
-
-
Ludovic Rousseau authored
-
Ludovic Rousseau authored
The Protocol Data Structure is: - 5 bytes long for a T=0 card - 7 bytes long for a T=1 card It may happen that the driver sends parameters for a T=0 card (5 bytes) but the reader answers with a T=1 buffer (7 bytes). The buffer is then too small for libusb and we get a LIBUSB_ERROR_OVERFLOW error. This should not happen in normal use but may happen with my HandlerTest tool when I insert a T=1 card and ask for a T=0 communication. Some reader (like the Cherry Smart Terminal 1150) may answer with a T=1 Protocol Data Structure.
-
- Feb 25, 2025
-
-
Ludovic Rousseau authored
-
Ludovic Rousseau authored
This happened on composite devices with 2 or more CCID interfaces. When the device is removed the first interface is correctly stopped but the driver and pcsc-lite are still trying to use the other CCID interfaces. We then get libusb errors: 00000025 [139657349199552] ../src/ccid_usb.c:1614:InterruptRead() libusb_submit_transfer failed: LIBUSB_ERROR_NO_DEVICE
-
Ludovic Rousseau authored
When a device is removed (unplugged) we must mark disconnected all the CCID interfaces and not just all the slots. On a composite device (2 or more CCID interfaces) the driver was still trying to talk to the second (or more) CCID interface and generated libusb errors LIBUSB_ERROR_NO_DEVICE.
-
- Feb 09, 2025
-
-
Ludovic Rousseau authored
-
- Feb 08, 2025
-
-
Ludovic Rousseau authored
The only change is the firmware release from 1.01 to 1.02.
-
- Jan 24, 2025
-
-
Ludovic Rousseau authored
-
- Jan 13, 2025
-
-
Ludovic Rousseau authored
Fix build error: <command-line>: error: "_FORTIFY_SOURCE" redefined [-Werror]
-
Ludovic Rousseau authored
-
- Dec 15, 2024
-
-
Ludovic Rousseau authored
-
- Dec 13, 2024
-
-
Ran Benita authored
CCID defines another type of message type on the interrupt pipe, HardwareError, and others may also be conceivably sent. So check the message type instead of assuming it's a NotifySlotChange. While at it, I added debug logging of HardwareError, it might be useful for someone.
-
Ran Benita authored
This is somewhat nice for readability, but will be useful for the next commit.
-
- Dec 11, 2024
-
-
Ran Benita authored
The `HAVE_` defines for these functions are not used. This brings parity with the meson build.
-
Ran Benita authored
It is present in configure.ac but not in meson, so meson builds end up using the fallback. Ref 09c8471f.
-
- Nov 26, 2024
-
-
Ludovic Rousseau authored
-
Ludovic Rousseau authored
Use "meson setup builddir -Denable-extras=true" to also build: - examples/scardcontrol - contrib/Kobil_mIDentity_switch - contrib/RSA_SecurID Thanks to Martin Paljak for the idea " Do not build contrib and examples by default but require #4 " https://github.com/LudovicRousseau/CCID/pull/4
-
- Oct 24, 2024
-
-
It seems generally useful to mark "local" things as static, so that they can't cause symbol collision between different source files.
-
Ludovic Rousseau authored
We now have: $ nm -g --defined-only libccid.so 000000000000bf90 T IFDHCloseChannel 000000000000ea40 T IFDHControl 000000000000bf80 T IFDHCreateChannel 000000000000bf70 T IFDHCreateChannelByName 0000000000010ad0 T IFDHGetCapabilities 0000000000010880 T IFDHICCPresence 000000000000c1b0 T IFDHPowerICC 000000000000c030 T IFDHSetCapabilities 000000000000c5d0 T IFDHSetProtocolParameters 000000000000e260 T IFDHTransmitToICC Thanks to Maksim Ivanov for the idea " Mark suitable variables and functions static #147 " https://github.com/LudovicRousseau/CCID/pull/147
-
Ludovic Rousseau authored
../src/commands.c: In function ‘CmdEscapeCheck’: ../src/commands.c:1057:48: warning: ‘old_read_timeout’ may be used uninitialized [-Wmaybe-uninitialized] 1057 | ccid_descriptor -> readTimeout = old_read_timeout; | ^ ../src/commands.c:948:13: note: ‘old_read_timeout’ was declared here 948 | int old_read_timeout; | ^
-
- Oct 10, 2024
-
-
Ludovic Rousseau authored
Thanks to Andrew Baxter for the bug report " LIBUSB_ERROR_TIMEOUT on first connect #206 " fixes: https://github.com/LudovicRousseau/PCSC/issues/206
-
- Sep 06, 2024
-
-
Ludovic Rousseau authored
-
- Aug 16, 2024
-
-
Ludovic Rousseau authored
-
- Aug 08, 2024
-
-
Ludovic Rousseau authored
-
- Jul 17, 2024
-
-
Ludovic Rousseau authored
-
- Jul 05, 2024
-
-
Ludovic Rousseau authored
Signed-off-by:
Ludovic Rousseau <ludovic.rousseau@free.fr>
-
- Jun 23, 2024
-
-
Ludovic Rousseau authored
Fixes: NOTICE: Future-deprecated features used: * 1.1.0: {'"boolean option" keyword argument "value" of type str'}
-
- Jun 17, 2024
-
-
Ludovic Rousseau authored
Fix link issue on Ubuntu 20.04 $ ninja [32/33] Linking target parse. FAILED: parse cc -o parse 'parse@exe/meson-generated_tokenparser.c.o' 'parse@exe/src_parse.c.o' 'parse@exe/src_debug.c.o' 'parse@exe/src_ccid_usb.c.o' 'parse@exe/src_sys_unix.c.o' 'parse@exe/src_strlcpy.c.o' 'parse@exe/src_simclist.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib/x86_64-linux-gnu/libusb-1.0.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group /usr/bin/ld: parse@exe/src_ccid_usb.c.o: undefined reference to symbol 'pthread_join@@GLIBC_2.2.5' /usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status [33/33] Generating Info.plist with a meson_exe.py custom command. ninja: build stopped: subcommand failed. Thanks to Peter Helcmanovsky for the bug report and patch.
-
- Jun 11, 2024
-
-
Eli Schwartz authored
This explicitly reverts commit eec7cdf0 because it was a bad idea. The motivating bug report was https://github.com/LudovicRousseau/PCSC/issues/124 and the issue there occurred when building from a git clone, running ./bootstrap && ./configure && make, and having: - configure succeed - make "succeeeds" at having $LEX run, do nothing and fail to generate required sources - compiling nonexistent files fail with highly confusing errors The autoconf manual has always documented the correct way to handle this is to check if lex is unavailable, and set it to the famous automake wrapper "missing", which checks if a program is missing at build time rather than at ./configure time, and fails the build if the rule cannot be run. This means: When building from a git clone, if flex is not available then - configure succeeds - make fails to run $LEX, and tells you to install flex The previous attempt to fix the highly confusing error instead resulted in configure erroring out, and saying flex is required, even when it is *not* required because a `make dist` tarball was used, which contains pregenerated tokenparser.c for the express purpose of making flex unnecessary. See autoconf documentation on $LEX: https://www.gnu.org/software/autoconf/manual/autoconf-2.72/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1 And automake documentation on why to use "missing": https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
-
- Jun 07, 2024
-
-
Ludovic Rousseau authored
-
Ludovic Rousseau authored
The error was: [30/32] Linking target parse FAILED: parse cc -o parse parse.p/meson-generated_tokenparser.c.o parse.p/src_parse.c.o parse.p/src_debug.c.o parse.p/src_ccid_usb.c.o parse.p/src_sys_unix.c.o parse.p/src_simclist.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib/x86_64-linux-gnu/libusb-1.0.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group /usr/bin/ld: parse.p/src_debug.c.o: in function `log_xxd': /home/user/workspace/CCID/builddir/../src/debug.c:221: undefined reference to `strlcpy' collect2: error: ld returned 1 exit status Thanks to Jahns Ralf for the bug report.
-
- Jun 05, 2024
-
-
Ludovic Rousseau authored
./GetSetNAD.py:35: SyntaxWarning: "is" with a literal. Did you mean "=="? if status is 0: ./GetSetNAD.py:51: SyntaxWarning: "is" with a literal. Did you mean "=="? if status is 0:
-