mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-04 20:38:50 +01:00
d9d98c510b
This is not a part of pin pad support series of mine. As I found the bug while I am preparing the patches, I report this. As CCID protocol is little endian, wLangId of US English = 0x0409 is represented as two bytes of 0x09 then 0x04. It is really confusing that the code like following is floating around: pin_verify -> wLangId = HOST_TO_CCID_16(0x0904); But, it is 0x0409 (not 0x0904). It is defined in the documentation: http://www.usb.org/developers/docs/USB_LANGIDs.pdf and origin of this table is Microsoft. We can see it at: http://msdn.microsoft.com/en-us/library/bb165625%28VS.80%29.aspx Yes, it would be better not to hard-code 0x0409. It would be better to try current locale of the user, or to use the first entry of string descriptor. I don't have time to implement such a thing... |
||
---|---|---|
.. | ||
apdu.c | ||
apdu.h | ||
app-common.h | ||
app-dinsig.c | ||
app-geldkarte.c | ||
app-help.c | ||
app-nks.c | ||
app-openpgp.c | ||
app-p15.c | ||
app.c | ||
atr.c | ||
atr.h | ||
card-common.h | ||
card-dinsig.c | ||
card-p15.c | ||
card.c | ||
ccid-driver.c | ||
ccid-driver.h | ||
ChangeLog-2011 | ||
command.c | ||
iso7816.c | ||
iso7816.h | ||
Makefile.am | ||
pcsc-wrapper.c | ||
sc-copykeys.c | ||
scdaemon.c | ||
scdaemon.h |