--- openct-0.6.1/src/ifd/ifd-ccid.c.orig Thu Jan 22 09:37:03 2004 +++ openct-0.6.1/src/ifd/ifd-ccid.c Wed Jul 28 13:02:10 2004 @@ -585,8 +585,8 @@ return -1; } - if (ccid.dwMaxCCIDMessageLength < 271) { - ct_error("ccid: max message size is only %d", r); + if (ccid.dwMaxCCIDMessageLength < 263 /*271*/) { + ct_error("ccid: max message size is only %d", ccid.dwMaxCCIDMessageLength); free(st); ifd_device_close(dev); return -1; --- openct-0.6.1/src/ifd/ifd-ccid.c.orig Wed Jul 28 13:03:00 2004 +++ openct-0.6.1/src/ifd/ifd-ccid.c Wed Jul 28 14:59:02 2004 @@ -444,8 +444,8 @@ int ok=0; intf=&conf.interface[ifc].altsetting[alt]; if (intf->bInterfaceClass != 0xb || - intf->bInterfaceSubClass != 0 || - intf->bInterfaceProtocol != 0) + intf->bInterfaceSubClass > 1 || + intf->bInterfaceProtocol > 1) continue; if (intf->bNumEndpoints != 3) continue;