aboutsummaryrefslogtreecommitdiffstats
path: root/scd/ccid-driver.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Change all quotes in strings and comments to the new GNU standard.Werner Koch2012-06-051-4/+2
| | | | | | | | | | | | | | | | | | | The asymmetric quotes used by GNU in the past (`...') don't render nicely on modern systems. We now use two \x27 characters ('...'). The proper solution would be to use the correct Unicode symmetric quotes here. However this has the disadvantage that the system requires Unicode support. We don't want that today. If Unicode is available a generated po file can be used to output proper quotes. A simple sed script like the one used for en@quote is sufficient to change them. The changes have been done by applying sed -i "s/\`\([^'\`]*\)'/'\1'/g" to most files and fixing obvious problems by hand. The msgid strings in the po files were fixed with a similar command.
* Port to npth.Marcus Brinkmann2012-01-251-4/+4
| | | | | | | | | | | | | | | | | | | | | * configure.ac: Don't check for PTH but for NPTH. (AH_BOTTOM): Remove PTH_SYSCALL_SOFT. (have_pth): Rename to ... (have_npth): ... this. (USE_GNU_NPTH): Rename to ... (USE_GNU_PTH): ... this. * m4/npth.m4: New file. * agent/Makefile.am, agent/cache.c, agent/call-pinentry.c, agent/call-scd.c, agent/findkey.c, agent/gpg-agent.c, agent/trustlist.c, common/Makefile.am, common/estream.c, common/exechelp-posix.c, common/exechelp-w32.c, common/exechelp-w32ce.c, common/http.c, common/init.c, common/sysutils.c, dirmngr/Makefile.am, dirmngr/crlfetch.c, dirmngr/dirmngr.c, dirmngr/dirmngr_ldap.c, dirmngr/ldap-wrapper-ce.c, dirmngr/ldap-wrapper.c, dirmngr/ldap.c, g13/Makefile.am, g13/call-gpg.c, g13/g13.c, g13/runner.c, scd/Makefile.am, scd/apdu.c, scd/app.c, scd/ccid-driver.c, scd/command.c, scd/scdaemon.c, tools/Makefile.am: Port to npth.
* Merge ccid_driver_improvement branch.NIIBE Yutaka2012-01-061-26/+104
| | | | | | | | | | | * scd/apdu.c (ccid_keypad_operation): Rename from ccid_keypad_verify. (open_ccid_reader): Use ccid_keypad_operation for verify and modify. * scd/ccid-driver.c (VENDOR_VASCO, VASCO_920): New. (ccid_transceive_apdu_level): Permit sending packet where apdulen <= 289. Support receiving packets in a chain. (ccid_transceive_secure): Maximum is 15 for VASCO DIGIPASS 920. Support keypad_modify method such as CHANGE_REFERENCE_DATA: 0x24.
* Support the Cherry ST-2000 card reader.Werner Koch2011-12-021-10/+24
| | | | | | | | * scd/ccid-driver.c (SCM_SCR331, SCM_SCR331DI, SCM_SCR335) (SCM_SCR3320, SCM_SPR532, CHERRY_ST2000): New constants. (parse_ccid_descriptor): Use them. (scan_or_find_usb_device, ccid_transceive_secure): Handle Cherry ST-2000. Suggested by Matthias-Christian Ott.
* fix wLangId in ccid-driver.cNIIBE Yutaka2011-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 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...
* Nuked almost all trailing white space.post-nuke-of-trailing-wsWerner Koch2011-02-041-137/+137
| | | | | | | | We better do this once and for all instead of cluttering all future commits with diffs of trailing white spaces. In the majority of cases blank or single lines are affected and thus this change won't disturb a git blame too much. For future commits the pre-commit scripts checks that this won't happen again.
* Support the gnuk token pinpad code.Werner Koch2011-01-051-1/+3
|
* Exporting secret keys via gpg-agent is now basically supported.Werner Koch2010-10-011-6/+7
| | | | | | A couple of forward ported changes. Doc updates.
* Add dummu option --passwd for gpg.Werner Koch2010-01-081-2/+2
| | | | | Collected changes.
* 2009-07-29 Marcus Brinkmann <[email protected]>Marcus Brinkmann2009-07-291-1/+1
| | | | | * ccid-driver.c (print_pr_data): Fix 64 bit compat problem.
* Workaround for SCR3320Werner Koch2009-07-241-0/+6
|
* Make bug reporting address easier changeable.Werner Koch2009-07-211-8/+31
|
* Add code to better handle unplugging of a reader.Werner Koch2009-07-161-9/+36
|
* * ccid-driver.c (struct ccid_driver_s): Add fields last_progress,Werner Koch2009-07-131-0/+38
| | | | | | | | | | | | | | | | progress_cb and progress_cb_arg. (ccid_set_progress_cb): New. (print_progress): New. (ccid_transceive): Call print_progress for wait time extensions. * apdu.c (struct reader_table_s): Add field set_progress_cb. (new_reader_slot): Clear that field. (open_ccid_reader): Set it to .. (set_progress_cb_ccid_reader): ... new fucntion. * app.c (print_progress_line): New. (lock_reader): Add arg CTRL to set a progress callback and change all callers to provide it. (unlock_reader): Remove the progress callback.
* Add comment about Cherry.Werner Koch2009-07-011-2/+6
|
* OOps commited an old version. Fixed now.Werner Koch2009-06-301-2/+2
|
* small fix for Omnikey. Works with CM4040 now.Werner Koch2009-06-301-0/+2
|
* Make soem omnikey readers work with extended length APDUs.Werner Koch2009-06-291-57/+139
|
* Improved smartcard robustness.Werner Koch2009-05-131-21/+15
|
* More support for Netkey cards.Werner Koch2009-05-081-31/+62
| | | | | | Small changes to teh CCID driver. Support 2048 bit OpenPGP cards.
* Implement decryption for TCOS 3 cards.Werner Koch2009-03-301-15/+35
|
* Fixed a nasty bug in scdaemon which led to a card reset if the card wasWerner Koch2009-02-251-1/+1
| | | | | | inserted during scdaemon startup and a connection was made before the ticker had a chance to run. Add some stuff for better debugging.
* Better debug output.Werner Koch2009-02-241-85/+420
|
* Fixed some card related problems.Werner Koch2008-12-181-3/+119
|
* Fixed the card removed with cached app bug. (Famous last fix).Werner Koch2008-11-031-1/+2
|
* Marked all unused args on non-W32 platforms.Werner Koch2008-10-201-1/+1
|
* Untested fix for TPDU level exchange of large data (command chaining)Werner Koch2008-09-231-4/+8
|
* Support the Certifciate DO of the v2 OpenPGP cards.Werner Koch2008-09-231-2/+5
|
* Adjust for the changed Camellia draft.Werner Koch2008-04-181-1/+1
| | | | | | W32 gettext changes. Comment and typo fixes.
* Changed to GPLv3.Werner Koch2007-07-041-4/+2
| | | | | Removed intl/.
* Add a way to get a listing of available CCID readers.Werner Koch2007-04-031-4/+13
|
* The Cherry XX44 keyboard's PINpad does now work.Werner Koch2007-03-071-18/+29
| | | | | DINSIG and NKS card applications are now also PIN pad aware.
* Included LIBICONV in all Makefiles.Werner Koch2007-01-311-3/+6
| | | | | | | | | | g10/ * passphrase.c (passphrase_get): Set the cancel flag on all error from the agent. Fixes a bug reported by Tom Duerbusch. sm/ * gpgsm.c (main): Let --gen-key print a more informative error message.
* Made some PIN pads work.Werner Koch2006-11-201-24/+49
| | | | | Some cleanups for 64 bit CPUs.
* Fixed card removal problemsWerner Koch2006-03-011-4/+17
|
* Fixed a couple of problems with omnikey based readersWerner Koch2006-02-081-20/+59
|
* .Werner Koch2006-02-061-1/+1
|
* Support for CardMan 4040Werner Koch2006-02-061-229/+488
|
* Preparing an interim releaseWerner Koch2005-11-281-10/+54
|
* Bug fixes and ssh support for the BELPIC.Werner Koch2005-09-091-1/+2
|
* gcc-4 defaults forced me to edit many many files to get rid of theWerner Koch2005-06-161-7/+7
| | | | | | | char * vs. unsigned char * warnings. The GNU coding standards used to say that these mismatches are okay and better than a bunch of casts. Obviously this has changed now.
* (parse_ccid_descriptor): SCR335 FW version 5.14 isWerner Koch2005-05-231-22/+105
| | | | | | | | | | | | | | good. (do_close_reader): Never do a reset. The caller should instead make sure that the reader has been closed properly. The new retry code in ccid_slot_status will make sure that the readersatrts up fine even if the last process didn't closed the USB connection properly. (ccid_get_atr): For certain readers try switching to ISO mode. Thanks to Ludovic Rousseau for this hint and the magic numbers. (print_command_failed): New. (bulk_in): Use it here. Add new arg NO_DEBUG.
* * protect-tool.c: New option --canonical.Werner Koch2005-05-201-48/+56
| | | | | | | | | | | | | | | | | | | | | | | | (show_file): Implement it. * keyformat.txt: Define the created-at attribute for keys. * ccid-driver.c: Replaced macro DEBUG_T1 by a new debug level. (parse_ccid_descriptor): Mark SCR335 firmware version 5.18 good. (ccid_transceive): Arghhh. The seqno is another bit in the R-block than in the I block, this was wrong at one place. * scdaemon.c: New options --debug-ccid-driver and --debug-disable-ticker. * app-openpgp.c (do_genkey, do_writekey): Factored code to check for existing key out into .. (does_key_exist): .. New function. * gpg-connect-agent.c (add_definq, show_definq, clear_definq) (handle_inquire): New. (read_and_print_response): Handle INQUIRE command. (main): Implement control commands.
* Changed the scdaemon to handle concurrent sessions. AdjustedWerner Koch2005-05-181-4/+5
| | | | | gpg-agent accordingly. Code cleanups.
* * configure.ac: Do not build gpg by default.Werner Koch2005-04-211-1/+1
| | | | | | | | | | | | * gpgsm.c: New options --{enable,disable}-trusted-cert-crl-check. * certchain.c (gpgsm_validate_chain): Make use of it. * certchain.c (gpgsm_validate_chain): Check revocations even for expired certificates. This is required because on signature verification an expired key is fine whereas a revoked one is not. * gpgconf-comp.c: Add gpgsm option disable-trusted-cert-crl-check.
* * app-openpgp.c (do_check_pin): Add hack to allow verification ofWerner Koch2005-04-111-27/+62
| | | | | | | | CHV3. (get_public_key): Don't use gcry functions to create S-expressions. (do_deinit, do_readkey, do_genkey, send_keypair_info): Adjust for above change.
* Forgot to commit the recent fixed to scd and logging - doing it nowWerner Koch2005-02-031-2/+2
|
* * acinclude.m4 (GNUPG_PTH_VERSION_CHECK): Link a simple testV1-9-15Werner Koch2005-01-131-5/+18
| | | | | | | program to see whether the installation is sane. * certreqgen.c (proc_parameters): Cast printf arg.
* (find_endpoint): New.Werner Koch2004-12-281-21/+159
| | | | | | | | | | | | (scan_or_find_devices): Add new args to return endpoint info and interface number. (ccid_open_reader, ccid_shutdown_reader): Take care of these new args. (bulk_in, bulk_out): Use the correct endpoints. (ccid_transceive_apdu_level): New. (ccid_transceive): Divert to above. (parse_ccid_descriptor): Allow APDU level exchange mode.
* * sc-investigate: Removed.Werner Koch2004-10-201-0/+2
| | | | | | | | | | | | | | | | | * Makefile.am (sc_investigate): Removed. * pcsc-wrapper.c (load_pcsc_driver): Load get_status_change func. (handle_open): Succeed even without a present card. (handle_status, handle_reset): New. * apdu.c (apdu_open_reader): Load pcsc_get_status_change fucntion. (pcsc_get_status): Implemented. (reset_pcsc_reader): Implemented. (open_pcsc_reader): Succeed even with no card inserted. (open_ccid_reader): Set LAST_STATUS. * iso7816.c (iso7816_select_application): Always use 0 for P1.