[Pcsclite-muscle] What is CLASS2_IOCTL_MAGIC?

Elfi Heck EHeck at intarsys.de
Fri Aug 7 15:26:45 UTC 2015


I'm asking because it conflicts with this code in rdesktop's scard.c:

	/* Is this a proper Windows smart card ioctl? */
	if ((dwControlCode & 0xffff0000) == (49 << 16))

rdesktop transforms any control codes you get from a GET_FEATURE_REQUEST into the Windows format for SCARD_CTL_CODE. When you use one of these, the code following the two lines above should transform them back to the Pcsclite format. Except that this doesn't work because the bytes contain CLASS2_IOCTL_MAGIC which overlaps the 0x31 << 16 from the Windows format and the condition always evaluates to false. Makes all class 2 reader functions inaccessible via rdesktop.

I'd like to understand what these bytes do, before reporting a problem to the rdesktop people.



More information about the Pcsclite-muscle mailing list