aboutsummaryrefslogtreecommitdiffstats
path: root/scd/apdu.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* scd: handle reader/token removal.scd-backport-2-0NIIBE Yutaka2012-06-241-0/+1
| | | | | * scd/apdu.c (pcsc_error_to_sw): PCSC_E_UNKNOWN_READER means SW_HOST_NO_READER.
* scd: acquire lock in new_reader_slot.NIIBE Yutaka2012-06-181-1/+24
| | | | | | | | | | | | | | * scd/apdu.c (new_reader_slot): Acquire lock. (open_ct_reader, open_pcsc_reader_direct, open_pcsc_reader_wrapped) (open_ccid_reader, open_rapdu_reader): Release lock. -- Fixes a test case of: No libpcsclite1 installed. Run gpg-agent Run command "gpg-connect-agent learn /bye" with no card/token Sometimes it fails: ERR 100663356 Not supported <SCD> While it should be always: ERR 100663404 Card error <SCD>
* scd: move lock_slot, trylock_slot, unlock_slot functions.NIIBE Yutaka2012-06-181-38/+38
| | | | | | | * scd/apdu.c (lock_slot, trylock_slot, unlock_slot): Move. -- This is for upcoming changes.
* scd: Fix for card change returning GPG_ERR_CARD_RESET.Werner Koch2012-06-151-2/+1
| | | | | | | | | * scd/apdu.c (apdu_connect): Do not test for zero atrlen. -- When gpg-agent prompts for insertion of a card this error would be returned. Co-authored-by: Ben Kibbey <[email protected]>
* Merge ccid_driver_improvement branch. (backport)NIIBE Yutaka2012-06-151-4/+4
| | | | | | | | | | | * 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.
* Add error log and debug log for pcsc_keypad_verify and pcsc_keypad_modify.NIIBE Yutaka2012-06-151-4/+22
| | | | | * scd/apdu.c (pcsc_keypad_verify): Add debug log and error log. (pcsc_keypad_modify): Likewise.
* Fix pinpad input support for passphrase modification. (backport)NIIBE Yutaka2012-06-151-10/+13
| | | | | | | | | | | | | | | | | | | | | * apdu.c (pcsc_keypad_verify): Have dummy Lc field with value 0. (pcsc_keypad_modify): Likewise. (pcsc_keypad_modify): It's only for ISO7816_CHANGE_REFERENCE_DATA. bConfirmPIN value is determined by the parameter p0. * app-openpgp.c (do_change_pin): The flag use_keypad should be 0 when reset_mode is on, or resetcode is on. use_keypad only makes sense for iso7816_change_reference_data_kp. * iso7816.h (iso7816_put_data_kp): Remove. (iso7816_reset_retry_counter_kp): Remove. (iso7816_reset_retry_counter_with_rc_kp): Remove. (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE. * iso7816.c (iso7816_put_data_kp): Remove. (iso7816_reset_retry_counter_kp): Remove. (iso7816_reset_retry_counter_with_rc_kp): Remove. (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
* scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)NIIBE Yutaka2012-06-151-0/+111
| | | | | | | | | | | | | | | | | | | | * iso7816.h (iso7816_change_reference_data_kp): Remove arguments of OLDCHV, OLDCHVLEN, NEWCHV, and NEWCHVLEN. * iso7816.c (iso7816_change_reference_data_kp): Call apdu_keypad_modify. (iso7816_change_reference_data): Don't call iso7816_change_reference_data_kp. * apdu.h (apdu_keypad_modify): New. * apdu.c (pcsc_keypad_modify, apdu_keypad_modify): New. (struct reader_table_s): New memeber function keypad_modify. (new_reader_slot, open_ct_reader, open_ccid_reader) (open_rapdu_reader): Initialize keypad_modify. * app-openpgp.c (do_change_pin): Handle keypad and call iso7816_change_reference_data_kp if it is the case.
* scd: PC/SC pinpad support. (Backported from master.)NIIBE Yutaka2012-06-151-3/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * iso7816.h (iso7816_verify_kp): Remove arguments of CHV and CHVLEN. * iso7816.c (iso7816_verify_kp): Call apdu_keypad_verify. Only handle thecase with PININFO. (iso7816_verify): Call apdu_send_simple. * app-openpgp.c (verify_a_chv, verify_chv3): Follow the change of iso7816_verify_kp. * app-nks.c (verify_pin): Likewise. * app-dinsig.c (verify_pin): Likewise. * apdu.c: Include "iso7816.h". (struct reader_table_s): New memeber function keypad_verify. Add fields verify_ioctl and modify_ioctl in pcsc. (CM_IOCTL_GET_FEATURE_REQUEST, FEATURE_VERIFY_PIN_DIRECT) (FEATURE_MODIFY_PIN_DIRECT): New. (pcsc_control): New. (control_pcsc_direct, control_pcsc_wrapped, control_pcsc) (check_pcsc_keypad, pcsc_keypad_verify): New. (ccid_keypad_verify, apdu_keypad_verify): New. (new_reader_slot): Initialize with check_pcsc_keypad, pcsc_keypad_verify, verify_ioctl and modify_ioctl. (open_ct_reader): Initialize keypad_verify with NULL. (open_ccid_reader): Initialize keypad_verify. (open_rapdu_reader): Initialize keypad_verify with NULL. (apdu_open_reader): Initialize pcsc_control. * pcsc-wrapper.c (load_pcsc_driver): Initialize pcsc_control. (handle_control): New. (main): Handle the case 6 of handle_control.
* scd fixes on error.NIIBE Yutaka2012-06-121-1/+2
| | | | | | * scd/apdu.c (open_pcsc_reader_wrapped): Show error number. * scd/command.c (get_reader_slot): Return -1 on error.
* Fix detection of card removal and insertion.Werner Koch2012-06-081-2/+13
| | | | | | | * scd/apdu.c (apdu_connect): Return status codes for no card available and inactive card. * scd/command.c (TEST_CARD_REMOVAL): Also test for GPG_ERR_CARD_RESET. (open_card): Map apdu_connect status to GPG_ERR_CARD_RESET.
* Removed some set but unused variables.Werner Koch2011-08-041-27/+28
|
* Collected changesWerner Koch2010-05-031-3/+17
|
* Fix for extended length Le in decipherWerner Koch2009-09-031-2/+0
|
* Make bug reporting address easier changeable.Werner Koch2009-07-211-0/+1
|
* Add code to better handle unplugging of a reader.Werner Koch2009-07-161-1/+28
|
* * ccid-driver.c (struct ccid_driver_s): Add fields last_progress,Werner Koch2009-07-131-1/+36
| | | | | | | | | | | | | | | | 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.
* Reworked the estream memory buffer allocation.Werner Koch2009-06-291-0/+3
| | | | | Committed already posted patches for the v2 card.
* Make PIN changing code work for v2 cards.Werner Koch2009-05-201-3/+3
|
* Improved smartcard robustness.Werner Koch2009-05-131-24/+77
|
* Print keyid in gpg --list-packets.Werner Koch2009-05-131-2/+2
| | | | | | Add some not yet code to app-nks.c Changed batch mode expiration time computation
* More support for Netkey cards.Werner Koch2009-05-081-11/+44
| | | | | | Small changes to teh CCID driver. Support 2048 bit OpenPGP cards.
* Implement decryption for TCOS 3 cards.Werner Koch2009-03-301-57/+135
|
* Signing using Netkey 3 cards does now work.Werner Koch2009-03-261-2/+5
|
* Make sure not to leak file descriptors if running gpg-agent with aWerner Koch2009-03-191-11/+2
| | | | | command. Restore the signal mask to solve a problem in Mono.
* Fixed a nasty bug in scdaemon which led to a card reset if the card wasWerner Koch2009-02-251-6/+28
| | | | | | inserted during scdaemon startup and a connection was made before the ticker had a chance to run. Add some stuff for better debugging.
* Add limited support for NetKey 3.0 cards.Werner Koch2009-01-081-6/+6
|
* Fix card change detection.Werner Koch2009-01-051-2/+3
|
* Fixed some card related problems.Werner Koch2008-12-181-16/+12
|
* Marked all unused args on non-W32 platforms.Werner Koch2008-10-201-0/+14
|
* Made scdaemon more robust on Windows.Werner Koch2008-10-151-4/+0
|
* SCD changes for PC/SC under W32.Werner Koch2008-10-141-399/+579
|
* 2008-09-28 Marcus Brinkmann <[email protected]>Marcus Brinkmann2008-09-281-2/+2
| | | | | * apdu.c (pcsc_get_status): Fix last change.
* Marcus Brinkmann <[email protected]>Marcus Brinkmann2008-09-231-0/+7
| | | | | | | | | * apdu.c (pcsc_get_status): Be more relaxed with the usable flag under Windows. M scd/ChangeLog M scd/apdu.c
* Support the Certifciate DO of the v2 OpenPGP cards.Werner Koch2008-09-231-50/+100
|
* Fix APDU buffer problem under MAC OS.Werner Koch2008-08-111-6/+6
|
* Applied exact length hack.Werner Koch2007-08-011-2/+11
|
* Changed to GPLv3.Werner Koch2007-07-041-4/+2
| | | | | Removed intl/.
* A whole bunch of changes to allow building for Windows.Werner Koch2007-06-141-0/+2
| | | | | See the ChangeLogs for details.
* First steps towards supporting W32.Werner Koch2007-06-061-1/+0
| | | | | | | This is mainly source code reorganization. Update gnulib. g10/ does currently not build.
* The Cherry XX44 keyboard's PINpad does now work.Werner Koch2007-03-071-1/+1
| | | | | DINSIG and NKS card applications are now also PIN pad aware.
* Preparing 2.0.1Werner Koch2006-11-281-2/+2
|
* No more warnings for AMD64 (at least when cross-compiling). Thus tehre is aWerner Koch2006-11-211-1/+1
| | | | | | | good chance that gpg2 will now work. Other cleanups. Updated gettext.
* Made some PIN pads work.Werner Koch2006-11-201-6/+16
| | | | | Some cleanups for 64 bit CPUs.
* Pth tweaks and improved estream.cWerner Koch2006-10-171-1/+1
|
* The big Assuan error code removal.Werner Koch2006-09-061-1/+2
|
* Added command APDUWerner Koch2006-04-111-2/+2
|
* Fixed card removal problemsWerner Koch2006-03-011-2/+2
|
* Print warning for missing pcsc-wrapperWerner Koch2005-12-061-1/+9
|
* Preparing an interim releaseWerner Koch2005-11-281-38/+138
|